最近我从
Android世界切换到iOS.我已经看到了两种创建水平滑块的选项.我的目标是在此图像上创建一个水平的卡片滑块.
我很困惑哪个元素需要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)设置缩放(伪代码)
一世.有自己实现UIScrollViewDelegate方法scrollViewDidScroll(UIScrollView)
II.设置collectionView.delgate = self
III.在scrollViewDidScroll(UIScrollView)中,通过将scrollView强制转换为获取所有可见单元格! UICollectionView并获取visibleCells属性.
IV.对于可见细胞中的细胞,使用CGAffineTransform设置适当的比例(细胞内容,而不是细胞本身),给定细胞距离屏幕水平中心的距离.这可能需要一些算术;这应该工作得很好:
s = −0.00005 * pow(cell.center.x,2) + 1.5
希望这可以帮助!如果您需要,请随时要求澄清.