更改 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
UILabel 位置在 UITableviewcell 内没有改变