ios – 具有自定义布局的UICollectionView – 无法在故事板中添加补充视图

Collection View Programming Guide for IOS

注册您的单元格和补充视图

您可以通过编程方式或在应用程序的故事板文件中配置集合视图的单元格和视图.

>在您的故事板中配置单元格和视图:

在故事板中配置单元格和补充视图时,可以通过将项目拖动到集合视图并在其中进行配置来实现.这将创建集合视图和相应的单元格或视图之间的关系.

>对于单元格,从对象库中拖动集合视图单元格,并将其放在集合视图上.将单元格的自定义类和集合可重用视图标识符设置为适当的值.
>对于补充视图,从对象库中拖动Collection可重用视图,并将其放在集合视图上.将视图的自定义类和集合可重用视图标识符设置为适当的值.

只要布局设置为“自定义”而不是“流”,我无法将集合可重用视图放入我的故事板中的集合视图.如果在布局设置为流动时丢弃一个,那么一旦将布局设置为自定义,它就会消失.

如果我把它放在集合视图之外,作为顶级对象,它不会在运行时使用,即使类和标识符都设置正确.相反,我得到一个错误告诉我,我必须注册补充视图.如果我手动注册,它需要从故事板中使用我的视觉设计.

关于如何工作的任何建议?

解决方法

只有当您的布局是UICollectionViewFlowLayout的子类时,才可以执行此操作.
  1. Don’t specify custom layout in storyboard.
  2. Select flow layout and design your supplementary view.
  3. Then in your viewcontroller programmatically create and assign your new layout
    object to collectionview.
  4. Call InvalidateLayout on your layout object
  5. Use the supplementary view you designed in storyboard with your custom layout

这对我来说有用.希望它也有助于任何人!

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...