使用单个 XIB 和类创建多个 collectionviewcells
Posted
技术标签:
【中文标题】使用单个 XIB 和类创建多个 collectionviewcells【英文标题】:Create multiple collectionviewcells with single XIB and class 【发布时间】:2016-07-14 08:18:26 【问题描述】:我已经在 XIB 中创建了自定义单元格的基本设计,其中包含单元格可以拥有的所有视图。说,我有三个子视图,并试图通过隐藏各个单元格的每个视图来创建三个不同的单元格。但是,当 cell1 在应该出现的位置上重用 cell2 时,我的自动布局约束会更新,但不会反映 UI 中的更改。但是,当它第一次创建所有不同的单元格时,这些约束更改会起作用。
任何人都可以告诉我是否可以这样做吗?
我能想到的两种实现这种行为的方法 1.我为不同类型的具有不同重用标识符的单元创建不同的 XIB,并附加到该 customCell 类。但在这种情况下,我可以拥有超过 15 个不同的单元格。
-
我使用的方法是将所有子视图放在 XIB 中的自定义单元格中,然后更改您的约束以实现不同类型的单元格。但我已经在上面的解释中解释了我的问题。
【问题讨论】:
【参考方案1】:您可以通过单个单元格来完成,一个接一个地创建 3 个子视图并为所有 3 个视图设置高度 NSLayoutConstraint。
现在假设您只想显示第二个视图,然后将第一个和第三个视图的高度约束常量值设置为 0 并更新单元格。
cell.view1_height.constant=0;
cell.view3_height.constant=0;
[cell updateConstraintsIfNeeded];
这将只保留第二个视图的高度。
【讨论】:
【参考方案2】:我对类似的单元格使用了不同的重用标识符,然后在高度受到影响的地方创建了多个 XIB。并且还使用约束来隐藏按钮和显示按钮以及所有内容。
【讨论】:
以上是关于使用单个 XIB 和类创建多个 collectionviewcells的主要内容,如果未能解决你的问题,请参考以下文章
将多个自定义 UITableViewCell 链接到单个 xib
单个 UIViewcontroller,如何在多个 xib 之间切换?
Xamarin.iOS - 单个 UITableView 中的多个 XIB