【发布时间】:2013-02-24 12:50:18
【问题描述】:
在CollectionView 中,一些单元格应该有一个额外的子视图或层。可以告诉CollectionView 调整其单元格的大小,因此所有内容都需要适当地调整大小。
目前,该单元格是从一个包含带有 imageview 的单元格的 nib 初始化的;单元格笔尖链接到自定义 UICollectionViewCell 子类,该子类仅执行 init。 Autoresize 子视图被选中。
CollectionView 被告知通过在sizeForItemAtIndexPath: 中派生和返回的值来调整单元格的大小。我对 FlowLayout 进行了子类化,但它只指定了 ScrollDirection 和 Insets。
所有这些都运行良好。问题:如何将子视图/图层添加到单元格,以便它也正确调整大小?我尝试在关闭translatesAutoresizingMaskIntoConstraints 的情况下添加子视图和图层,但它们根本不会自动更改大小。还尝试使用代码框架/视图而不是笔尖。
我现在得到的最好的是一个cell.contentView.layer 子层,我在cellForItemAtIndexPath: 中添加了它;这是通过存储来自sizeForItemAtIndexPath: 的单元格的frame.size 来“手动”调整大小的,这不仅丑陋,而且最终导致子层对于不同的单元格具有不同的大小。
任何帮助表示赞赏!
【问题讨论】:
-
使用自动布局,如果约束设置正确,子视图应自动随单元格展开。您需要描述此子视图,以及如果您需要更具体的帮助,您希望它如何扩展。
-
感谢@rdelmar 的评论。我对约束有一种模糊的感觉,但从未跟进,所以我没有想到只是将它们关闭。做到了,它的工作原理......现在我只需要处理应该很容易的起源。谢谢!
标签: ios size cell subview uicollectionview