最近我从 Android 世界切换到 iOS。我看到了两个用于创建水平 slider 的选项。我的目标是在这张图片上创建一个水平的卡片 slider 。 我很困惑哪个元素需要 iOS 中的最佳选项。我应该为此使用 CollectionView 还是应该为此使用 PageViewController? 由于我是初学者,所以在这个阶段我不能以有限的知识使用图书馆。请建议我该怎么做
最佳答案
简答
您应该使用 UICollectionView。
更详细的回答
1) 使用UICollectionViewFlowLayout
设置水平布局
let layout = UICollectionViewFlowLayout()
// The size of each item. Pick a suitable height so that the items do not get stacked:
layout.itemSize = CGSize(width: view.frame.width / 2, height: view.frame.height)
// The most important part:
layout.scrollDirection = .horizontal
// Then initialize collectionView
let collectionView = UICollectionView(frame: frame, collectionViewLayout: layout)
2)设置缩放(伪代码)
我。让self
实现UIScrollViewDelegate
方法scrollViewDidScroll(UIScrollView)
二。设置 collectionView.delgate = self
三。在 scrollViewDidScroll(UIScrollView)
中,通过将 scrollView as 转换为获取所有可见单元格! UICollectionView
并获取 visibleCells
属性。
iv.对于可见单元格中的单元格,根据单元格与屏幕水平中心的距离,使用 CGAffineTransform
设置适当的比例(单元格内容,不是单元格本身)。这可能需要一些算术;这应该工作得很好:
s = −0.00005 * pow(cell.center.x, 2) + 1.5
希望对您有所帮助!如果需要,请随时要求澄清。
关于ios - 如何在 iOS 10 Swift 3 中创建水平轮播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45383395/