gpt4 book ai didi

ios - 使用 UIScrollView 创建封面流

转载 作者:行者123 更新时间:2023-11-28 12:29:49 24 4
gpt4 key购买 nike

我正在尝试创建像这样的封面流图像幻灯片:

enter image description here

我不得不说我不想使用其他框架,例如 iCarousel我需要编写自己的代码。这是我的代码,但它每页只显示一张图片,我想知道如何更改我的代码以添加 previousnext 图片,就像图片一样?

override func viewDidLoad() {
super.viewDidLoad()

pageControl.numberOfPages = imageArray.count
scrollView.frame = self.view.frame
scrollView.contentSize = CGSize(width: scrollView.frame.size.width * CGFloat(pageControl.numberOfPages) , height: 0)
scrollView.delegate = self

for i in 0..<imageArray.count {

ashvanImage = UIImageView(frame: CGRect(x: 0, y: 0, width: self.view.frame.width - 50 , height: self.view.frame.height - 200))
ashvanImage.center = scrollView.center
ashvanImage.contentMode = .scaleAspectFit
ashvanImage.image = UIImage(named: "\(i).jpg")
scrollView.addSubview(ashvanImage)
createPageWith(images: ashvanImage, page: i)

}
}


func createPageWith(images:UIImageView, page:Int) {

let newView = UIView(frame: CGRect(x: scrollView.frame.size.width * CGFloat(page), y: 0, width: scrollView.frame.size.width, height: scrollView.frame.size.height))
newView.addSubview(images)
scrollView.addSubview(newView)
}



func scrollViewDidScroll(_ scrollView: UIScrollView) {

let page = scrollView.contentOffset.x / scrollView.frame.size.width
pageControl.currentPage = Int(page)

}

最佳答案

正如其他人所说,如果您不想使用内置了 CoverFlow 的 iCarousel,则应该使用 UICollectionView。它是为您想要的而构建的。

当然,您可以从 UIScrollView 开始执行此操作,但经验丰富的开发人员可能需要数周的全职工作才能使干净的设计正常工作并进行调试,结果看起来和完成后感觉很像 Collection View ,只是不那么灵活或可维护。此外,您还需要 Core Animation 的高级知识,这些知识非常专业且没有很好的文档记录。

编辑:

Google 搜索“UICollectionView CoverFlow Swift”在 Github 上找到了这个框架:

https://github.com/sumitlni/LNICoverFlowLayout

如果您决心自己做这件事,您至少可以查看该框架,将其作为您需要做的事情的路线图。

关于ios - 使用 UIScrollView 创建封面流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42317457/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com