我正在尝试使用1列
创建collectionViewfunc numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {
return 1
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 10
}
但这并没有奏效。 主要问题是我的单元格大小动态变化。那么我可以将列限制为1吗?我需要按行加载单元格,而不是列。
答案 0 :(得分:2)
首先,您可以使用UITableView来实现此功能。 其次如果想使用UICollectionView: -
1)在故事板中选择集合视图 - >转到属性 - >设置滚动方向 - >垂直
2)正确设置项目大小
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize
{
return CGSize(width:collectionView.frame.size.width, height:YourCellHeight)
}
3)为单元格和线条设置适当的最小间距。
答案 1 :(得分:0)
我假设您希望集合视图的行为更像表视图。在那种情况下,我认为contentInset是您要寻找的内容。如果您所有的单元格都具有相同的宽度,并且您可以找到该宽度,则可以执行以下操作,以使收集视图始终位于水平居中的一列中。
let margin = (view.frame.width - cellWidth) / 2
let collectionViewInsets = UIEdgeInsets.init(top: 0, left: margin, bottom: 0, right: margin)
collectionView.contentInset = collectionViewInsets