在UITableViewCell(Storyboards)中更改UIView的高度

时间:2015-05-22 17:49:27

标签: ios objective-c xcode uitableview uiview

我试图用故事板创建一个UITableViewCell大师。我们的想法是,此单元格包含所有可能的子视图,但并非所有子视图都会显示,具体取决于每个单元格的数据。

我使用 heightForRowAtIndexPath 根据数据计算每个单元格的适当高度,这样可以正常工作。

我想弄清楚的是如何在tableViewCell中将子视图的高度调整为零以有效地隐藏这些元素,同时仍然尊重我设置的相对约束(不同于从超级视图中删除子视图我所有的约束)。

所以基本上我似乎无法弄清楚如何使用故事板和自动布局来更新UITableViewCell内的子视图(UIView)的高度(帧)。

任何指导都很棒,如果我没有使用最佳范例或思维过程来获得预期的效果,请告诉我。

最佳,

emjoseph

1 个答案:

答案 0 :(得分:2)

您需要使用NSLayoutConstraint。如果您的单元格子视图尚未具有固定高度,则需要添加它们。

添加这些约束后,为这些约束创建对头文件的引用。要执行此操作,请双击高度约束,使其在ViewController结构中显示,然后控制单击并拖动到头文件中。

当您确定要折叠的视图时,请访问新声明的NSLayoutConstraint并编辑常量值。

示例:

subviewHeight.constant = 0;