我有一个集合视图,并且希望在多个设备上保持一致的行数和列数。在 iPhone 6s Plus 上,显示 6 个项目,但在 iPhone 5s 上查看应用程序时,仅显示 4 个项目。
See my layout here: ![Layout on iPhone 6s Plus](https://i.stack.imgur.com/8HyYE.png)
如何使集合视图在不同设备上显示相同的项目?
对于斯威夫特 3.0。
确保您正在使用 autoLayout 并实现UICollectionView
sizeForItemAtIndexPath
.
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
return CGSize(width: collectionView.bounds.size.width/3 - yourCellInterItemSpacing, height: collectionView.bounds.size.height/3 - yourCellInterItemSpacing)
}
这将允许根据屏幕尺寸创建单元格(假设您正在使用自动布局),您应该除以所需的列/行数。将宽度除以所需的列数,将高度除以行数。
要提供屏幕截图中所示的前导和尾随空格,只需在故事板中添加适当的空格到您的UICollectionView
。即前导和尾随空格相当于yourCellInterItemSpacing
确保您的班级符合UICollectionViewDelegateFlowLayout
协议!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)