我们可以指定在集合视图的每个部分中可以显示的行数吗?

时间:2019-06-18 12:05:38

标签: ios swift iphone tvos

我目前正在开发一个TvOS应用,在此我有一个集合视图,其中包含多个sections,并且下面有多个rows。可以将每节的行数限制为1吗?

我尝试使用minimumLineSpacingForSectionAt函数委托

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
   return 1
}

这不起作用,如果我尝试移动焦点,则下面部分中的行也开始移动,请帮助我找到此问题的解决方案。

3 个答案:

答案 0 :(得分:2)

minimumLineSpacingForSectionAt与节数或行数无关。

您必须维护数据源数组,使每个节数组仅包含一项。

或者,如果您实际上有一个一维数据源数组,则在numberOfRows中返回1,在datasourcearray.count中返回numberOfSections。然后,您将有datasourcearray.count个部分分别有一行。

答案 1 :(得分:0)

您需要为此使用自定义布局。有关 Swift 4

中的Pinterest之类的示例,请参考this Link

类似的问题:  Custom layout for collection view in swift?

答案 2 :(得分:0)

您需要

  1. return 1UICollectionViewDataSource's collectionView(_:numberOfItemsInSection:)方法和
  2. {{1}中的return sectionsCount,其中numberOfSections(in:)是部分总数。

这是您应该执行的工作,

sectionsCount

您实现的方法有不同的用途,并且没有在func numberOfSections(in collectionView: UICollectionView) -> Int { return sectionsCount } func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { return 1 } 中定义items/sections

  

collectionView(_ :, layout:,minimumLineSpacingForSectionAt:)

     

向委托询问连续的行或列之间的间距   部分。