使用单个XIB和类创建多个collectionviewcells

时间:2016-07-14 08:18:26

标签: ios objective-c iphone swift uicollectionview

我已经在XIB中创建了自定义单元格的基本设计,其中包含单元格可以拥有的所有视图。说,我有三个子视图,并尝试通过隐藏各个单元格的每个视图来创建三个不同的单元格。但是当cell1在应该呈现cell2的位置上被重用时,我的自动布局约束会更新但不会反映UI中的更改。但是,这些约束变化在第一次创建所有不同的单元格时起作用。

即使有可能这样做,有人能告诉我吗?

我可以考虑实现这种行为的两种方法 1.我为不同类型的单元创建不同的XIB,使用不同的重用标识符并附加到该customCell类。但在这种情况下,我可以有超过15个不同的细胞。

  1. 我使用的方法将所有子视图放在XIB中的自定义单元格中,然后更改约束以实现不同类型的单元格。但我在上面的解释中解释了我的问题。My custom Cell where I can show the last two buttons and not

2 个答案:

答案 0 :(得分:0)

你可以通过单个细胞来完成,一个接一个地创建3个子视图&为所有3个视图设置高度NSLayoutConstraint。

现在假设您只想显示第二个视图,然后将第一个和第三个视图的高度约束常量值设置为0&更新单元格。

cell.view1_height.constant=0;
cell.view3_height.constant=0;
[cell updateConstraintsIfNeeded];

这将仅保留第二个视图的高度。

答案 1 :(得分:0)

我为类似的单元格使用了不同的重用标识符,然后在高度受到影响的地方创建了多个XIB。并且还使用约束来隐藏按钮和显示按钮和一切。