【问题标题】:Create multiple collectionviewcells with single XIB and class使用单个 XIB 和类创建多个 collectionviewcells
【发布时间】:2016-07-14 08:18:26
【问题描述】:

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

任何人都可以告诉我是否可以这样做吗?

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

  1. 我使用的方法是将所有子视图放在 XIB 中的自定义单元格中,然后更改您的约束以实现不同类型的单元格。但我已经在上面的解释中解释了我的问题。

【问题讨论】:

    标签: ios objective-c iphone swift uicollectionview


    【解决方案1】:

    您可以通过单个单元格来完成,一个接一个地创建 3 个子视图并为所有 3 个视图设置高度 NSLayoutConstraint。

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2016-02-22
        • 1970-01-01
        • 2012-06-22
        • 2019-08-19
        • 1970-01-01
        • 2018-09-01
        • 2015-04-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多