【问题标题】:How to change height of UItableView inside UITableViewCell based on number of cells in the UITableView如何根据 UITableView 中的单元格数量更改 UITableViewCell 中 UItableView 的高度
【发布时间】:2017-04-27 05:27:18
【问题描述】:

我在 UITableViewCell 内有一个 UITableView 固定在所有四个侧面。我想根据它拥有的单元格数量来改变 UITableView 的高度。为此,我将 UITableViewCell (name-TableCell) 子类化了。在其中,我正在使用此代码来更新 tableView 高度。:

-(void)layoutSubviews{

    [super layoutSubviews];

    if ([self.data count] <= 5) {
        self.tableHeightConstraint.constant = ([self.data count]) * 44.0f;
    } else {
        self.tableHeightConstraint.constant = 5 * 44.0f;
    }
}

我动态改变了上面TableView的高度约束。它有时会起作用,但有时会导致打破约束,从而导致应用程序的抖动行为。

这是改变高度的正确方法吗? 请帮忙!

编辑 1:

我在运行时插入和删除单元格。插入的单元格有一个表格视图,其大小根据单元格的数量是动态的。当我插入(包括上面的代码)时,插入是正确的。但是当我删除时,单元格(具有 uitableview)仍然可见。当我将单元格滚动出屏幕时,只有它变得不可见。 请帮忙!

【问题讨论】:

    标签: ios objective-c uitableview nslayoutconstraint


    【解决方案1】:

    如果您在 tableViewCell 内有固定到单元格所有侧面(底部、左侧、右侧、顶部)的 tableview,并且它没有高内容拥抱优先级,您可以在 外部 tableView in:

    - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
    

    内部 tableview 将被拉伸,因为它具有固定约束

    【讨论】:

    • 我试过你的方法,但没有解决问题。
    猜你喜欢
    • 2016-03-01
    • 1970-01-01
    • 2017-09-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-15
    • 1970-01-01
    • 2012-07-22
    • 1970-01-01
    相关资源
    最近更新 更多