更改 UITableViewCell 内 UIView 的高度(故事板)

Posted

技术标签:

【中文标题】更改 UITableViewCell 内 UIView 的高度(故事板)【英文标题】:Change height of UIView inside of UITableViewCell (Storyboards) 【发布时间】:2015-05-22 17:49:27 【问题描述】:

我正在尝试使用情节提要创建一个主 UITableViewCell。这个想法是这个单元格包含所有可能的子视图,但根据每个单元格的数据,不会显示所有子视图。

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

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

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

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

最好的,

emjoseph

【问题讨论】:

你试过常量吗?由于您使用的是自动布局,因此您应该使用它们而不是更改宽度和高度。 如果在 UIView 高度为零的情况下不需要调整单元格大小,可以只使用 hidden 属性吗? 【参考方案1】:

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

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

当您决定折叠哪个视图后,访问您新声明的 NSLayoutConstraint 并编辑常量值。

例子:

subviewHeight.constant = 0;

【讨论】:

以上是关于更改 UITableViewCell 内 UIView 的高度(故事板)的主要内容,如果未能解决你的问题,请参考以下文章

更改 UITableViewCell 内 UIView 的高度(故事板)

无法更改 UITableViewCell 内 UIImageView 的宽度和高度 - swift

UITableViewCell 子类,错误的高度直到滚动

UILabel 位置在 UITableviewcell 内没有改变

一旦显示在屏幕上,更改 `UITableViewCell` 的颜色

从 UITableViewCell 中点击 Swift 更改标签文本颜色