我已经在XIB中创建了自定义单元格的基本设计,其中包含单元格可以拥有的所有视图。说,我有三个子视图,并尝试通过隐藏各个单元格的每个视图来创建三个不同的单元格。但是当cell1在应该呈现cell2的位置上被重用时,我的自动布局约束会更新但不会反映UI中的更改。但是,这些约束变化在第一次创建所有不同的单元格时起作用。
即使有可能这样做,有人能告诉我吗?
我可以考虑实现这种行为的两种方法 1.我为不同类型的单元创建不同的XIB,使用不同的重用标识符并附加到该customCell类。但在这种情况下,我可以有超过15个不同的细胞。
答案 0 :(得分:0)
你可以通过单个细胞来完成,一个接一个地创建3个子视图&为所有3个视图设置高度NSLayoutConstraint。
现在假设您只想显示第二个视图,然后将第一个和第三个视图的高度约束常量值设置为0&更新单元格。
cell.view1_height.constant=0;
cell.view3_height.constant=0;
[cell updateConstraintsIfNeeded];
这将仅保留第二个视图的高度。
答案 1 :(得分:0)
我为类似的单元格使用了不同的重用标识符,然后在高度受到影响的地方创建了多个XIB。并且还使用约束来隐藏按钮和显示按钮和一切。