
目前我在collectionVIEw:vIEwForSupplementaryElementOfKind:atIndexPath:中提供了一个UICollectionReusableVIEw对象,但是(正如人们所预料的那样)当我的集合内容超出这个屏幕的界限时,页脚会被推离屏幕.
我猜测关键是装饰视图 – 但我找不到任何关于这些工作方式的良好代码(非IB)示例,而且我认为Apple的文档在这个特定主题上不清楚.
更新:装饰视图
在构建和试验装饰视图(using this tutorial)后,我遇到了一些限制 – 即装饰视图对象和您的UICollectionVIEwController控制器对象之间实际上没有任何回调(装饰视图由UICollectionVIEwLayout对象管理,而不是UICollectionVIEwController对象).苹果公司认为装饰视图仅限于视觉装饰而非数据驱动(尽管你明显可以解决这个问题).
所以,“正确”的解决方案仍然无法解决,但同时我刚刚创建了一个静态的UIVIEw对象,我只是从我的UICollectionVIEwController对象中管理它.它工作正常,但感觉不对.
更新:粘性标题
在过去的几个月里,我在各个项目中处理过类似的问题,并且最近找到了粘性headerS的解决方案.我认为这同样适用于页脚,但我还没有测试过.
有关标题的详细信息:
How to make Supplementary View float in UICollectionView as Section Headers do in UITableView plain style
实施非常繁重,但在大多数情况下似乎运行良好.
如果很快就这个问题没有进一步的活动,我将作为副本关闭并指向上面的文章.
解决方法 基本上你需要做的是提供一个自定义的UICollectionVIEwLayout子类,当边界发生变化时(当视图滚动边界变化时)使自身无效.然后为补充视图提供UICollectionVIEwLayoutAttributes,其中更新中心以拥抱集合视图的当前边界(顶部,底部,左侧,右侧,等等).我在github上添加了演示此策略的项目.
更新:从iOS 9开始,UICollectionVIEwFlowLayout有两个非常方便的属性,可以大大简化这项任务.请参阅SectionheadersPinToVisibleBounds和sectionFootersPinToVisibleBounds.
总结以上是内存溢出为你收集整理的ios – 如何为UICollectionView创建“粘性”页脚?全部内容,希望文章能够帮你解决ios – 如何为UICollectionView创建“粘性”页脚?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)