如果我没理解错的话,一个UICollectionViewCell
的内容应该进入其 contentView
属性,背景进入 backgroundView
。
然而,当我将 UICollectionViewCell
拖到 Interface Builder 时,没有提及 contentView
或 backgroundView
。如果我添加 subview ,它们会将整个单元格作为其父级,而不是 contentView
或 backgroundView
。
那么用 IB 定义 UICollectionViewCell
的正确方法是什么?
最佳答案
“如果我添加 subview ,它们会将整个单元格作为其父级,而不是 contentView”
这不是真的。如果您拖入一个 UICollectionViewCell,并向其中添加 UI 元素,那么您就是将它们添加到内容 View 中。它没有出现在对象列表中的事实并不意味着它不存在(NSBox 也是如此 - 它有一个内容 View 也没有出现在 IB 中)。如果在 collectionView:didSelectItemAtIndexPath: 中,你记录 cellForItemAtIndexPath,然后查看它的 subview ,你只找到一个,它与你通过记录 cell.contentView 得到的是同一个。如果您记录它的 subview ,那么您将看到您的 UI 元素。
现在,就背景 View 而言,我不认为这是您可以从 IB 访问的内容。您可以拥有一个带有 UIView 的 xib 文件,然后将其分配给单元格的 backgroundView 属性。
关于iphone - 使用 nib 定义 UICollectionViewCell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13416113/