我有一个UITableView
其中我在自动布局中将高度定义为 200。基于此,我在其下面布置了其他元素,例如UITextField
等等。之后在运行时我从服务器获取数据并填充UITableView
因此我正在更新UITableView
的高度基于其内容大小。以下代码是我使用的
self.myTableView.frame = CGRectMake(0 , 0, self.myTableView.frame.width, self.myTableView.contentSize.height)
但正因为如此,下面的所有元素UITableView
仍然出现在与在自动布局中布局时相同的位置。表示高度的变化UITableView
对他们来说没有什么区别。下图描述了这个问题。对此有什么可能的解决方案?
在这里您可以看到,文本字段在运行时在表格视图上重叠。我在 Xcode 7.2 中使用 Swift 2
如果您对表视图和其他视图具有所有必需的约束。
不要改变 TableView 的框架来改变它的高度。
相反,创建 tablview 高度约束的 IBOutlet。
例如假设IBOutlet名称是constraintTableViewHeight,
那么你就可以轻松达到高度。
constraintTableViewHeight.constant = yourNewHeightValue
//update all constraint of your view and its inner view
self.view.layoutIfNeeded();
请参考图像来根据您的身高约束创建 IBOutlet。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)