【问题标题】:Expandable custom- UITableViewCell from NIB来自 NIB 的可扩展自定义 UITableViewCell
【发布时间】:2012-02-09 10:53:15
【问题描述】:

我需要创建可扩展单元格形式的笔尖。如果我的表格视图中的单元格尺寸等于自定义单元格笔尖的尺寸,它看起来很好。但是当我试图改变自定义单元格的高度以使其更小时,它看起来像这样:

您能给我一些建议吗?如何从笔尖展开/折叠自定义表格单元格并避免这种影响?

UPD:我已经实现了 heightForRowAtIndexPath,它工作正常。基本问题是只有在单元格展开时才应该可见的所有出口在折叠时在所有单元格的所有表格视图中可见

【问题讨论】:

    标签: ios uitableview


    【解决方案1】:

    我找到了解决方案,而且非常简单。我只需要在 Interface Builder 中设置我的自定义单元格的“Clip SubViews”属性。

    【讨论】:

    • 展开表格视图的非常简单的提示。
    【解决方案2】:

    查看heightForRowAtIndexPath 数据源方法。它可能看起来像这样:

    - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
        if (expandableCell)
            return 20.0f;
        return 44.0f;
    }
    

    【讨论】:

    • 这个答案是正确的,但是当您展开/收缩单元格时,您还必须在表格上调用 [tableView reloadCellAtIndexPath:...] ,否则它不会再次调用 heightForRowAtIndexPath 方法.一种方法是在您展开/收缩单元格时从单元格中广播 NSNotification 并在表格的视图控制器中拾取它,以便它知道单元格需要重新加载。
    • @NickLockwood,是的,你是对的。但是 OP 只意味着这个问题,重新加载表看起来像另一个问题。也许 OP 解决了它,也许在另一个线程中问它:)
    • 我已经实现了 heightForRowAtIndexPath 并且工作正常,基本问题是表格单元笔尖的所有出口都在 ViewDidLoad 之后放置在表格视图上
    • @stalk,检查你的网点的自动调整掩码。
    • 主要情况是outlets不应该是autoresizable,当单元格折叠时它应该看起来像屏幕截图中row0和row1的单元格,并且一些outlets应该在展开后才显示。但在我的情况下,我在表格视图上拥有所有出口
    猜你喜欢
    • 2014-10-21
    • 2015-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多