我想使用收藏 View 来显示用户的 Instagram 照片,例如 Tinder。我放置了一个 Collection View 并启用分页。但我不知道如何每页显示 6 张照片。我怎样才能做到这一点?
这就是我想要的:
首页:
第二页:
我使用所有间距设置为零,因为针对不同的屏幕尺寸设置 Storyboard 问题的间距。
我的收藏 View 的设置和结果:
结果:
所以我想每页显示 6 张照片。如何实现这一目标?
最佳答案
要显示所需的具体单元格数量,您必须计算单元格的大小。像这样的事情:
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let numberOfRows = 2
let numberOfColumns = 3
let height = collectionView.frame.size.height / numberOfRows
let width = collectionView.frame.size.width / numberOfColumns
let cellSize = CGSize(width: width, height: height)
return cellSize
}
由于您的布局配置是静态的,您只需计算一次即可使其更快:
class MyVC: UIViewController {
private let cellSize: CGSize = CGSize(width: collectionView.frame.width/numberOfColumns, height: collectionView.frame.height/numberOfRows) // or create a computed property
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return cellSize
}
}
此代码未经测试,也许您必须添加一些填充,但您明白了。另一种选择是实现您自己的 UICollectionViewLayout
子类
关于ios - Collectionview 和分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45572063/