我正在努力实现"浮动节头"效果UICollectionView.如果没有大量的努力工作,那么在UITableView(默认行为UITableViewStylePlain)中很容易做到的事情似乎是不可能的UICollectionView.我错过了明显的吗?
Apple没有提供有关如何实现此目标的文档.似乎必须子类化UICollectionViewLayout并实现自定义布局才能实现此效果.这需要相当多的工作,实现以下方法:
覆盖的方法
每个布局对象都应该实现以下方法:
collectionViewContentSize
layoutAttributesForElementsInRect:
layoutAttributesForItemAtIndexPath:
layoutAttributesForSupplementaryViewOfKind:atIndexPath: (if your layout supports supplementary views)
layoutAttributesForDecorationViewOfKind:atIndexPath: (if your layout supports decoration views)
shouldInvalidateLayoutForBoundsChange:
Run Code Online (Sandbox Code Playgroud)
然而,我不清楚如何使补充视图浮动在单元格上方并"粘贴"到视图的顶部,直到到达下一部分.布局属性中是否有这样的标志?
我会使用UITableView但我需要创建一个相当复杂的集合层次结构,这可以通过集合视图轻松实现.
任何指导或示例代码将不胜感激!
我想将标题设置为集合视图,就像UITableViewController的setTableHeader一样.
我找到了在集合视图上设置每个部分的标题的方法,但我找不到如何设置整个标题的标题视图.
Apple对UICollectionViewLayout的引用说:"补充视图显示数据但不同于单元格.与单元格不同,用户无法选择补充视图.而是使用补充视图来实现给定部分或整个部分的页眉和页脚视图等内容集合视图.补充视图是可选的,它们的使用和放置由布局对象定义.",但我不知道如何为整个集合视图实现标题视图.
我试图通过只将节标题视图矩形设置为第一部分来实现这一点,但它与tableHeader的不同.
在表视图中,如果我将内容偏移设置为低于标题,则内容大小会自动扩展,以便隐藏标题,尽管存在少量元素.
但是在集合视图中,只有存在足以进行滚动的元素时,修改内容偏移才能正常工作.
当存在一些元素时,我试图动态扩展内容大小,但似乎它不能正常工作......