ios – 当UITableView高度更改时更新其他元素的约束

ios – 当UITableView高度更改时更新其他元素的约束,第1张

概述我有一个UITableView,我在autolayout中将高度定义为200.基于此我在其下面布置其他元素,如UITextField等.在运行时之后,我从服务器获取数据并填充UITableView,因为我正在根据其内容大小更新UITableView的高度.以下代码我正在使用它 self.myTableView.frame = CGRectMake(0 , 0, self.myTableView.f 我有一个UItableVIEw,我在autolayout中将高度定义为200.基于此我在其下面布置其他元素,如UITextFIEld等.在运行时之后,我从服务器获取数据并填充UItableVIEw,因为我正在根据其内容大小更新UItableVIEw的高度.以下代码我正在使用它

self.mytableVIEw.frame = CGRectMake(0,self.mytableVIEw.frame.wIDth,self.mytableVIEw.contentSize.height)

但是由于这个原因,放在UItableVIEw下面的所有元素仍然出现在他们在autolayout中布局时的相同位置.意味着UItableVIEw的高度变化对他们没有任何影响.下图描绘了这个问题.有什么可能解决这个问题?

在这里你可以看到,文本字段在运行时在tablevIEw上重叠.我在Xcode 7.2中使用Swift 2

解决方法 如果您对表视图和其他视图都有所有必需的约束.

不要更改tableVIEw的框架来更改它的高度.
而是创建tablvIEw的高度约束的IBOutlet.

例如说IBOutlet名称是constrainttableVIEwHeight,
那么你可以轻松地做到这一点.

constrainttableVIEwHeight.constant = yourNewHeightValue//update all constraint of your vIEw and its inner vIEwself.vIEw.layoutIfNeeded();

请参阅图像以创建高度约束的IBOutlet.

总结

以上是内存溢出为你收集整理的ios – 当UITableView高度更改时更新其他元素的约束全部内容,希望文章能够帮你解决ios – 当UITableView高度更改时更新其他元素的约束所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1015557.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存