cmi*_*mii 5 uitableview uiscrollview ios autolayout swift
我有一个viewController,在scrollview中有一个tableview.
我需要以编程方式更新tableview的高度,然后滚动视图的高度(scrollview的高度取决于tableview的高度).
-my View Controller
-View
-ScrollView
-Container View
-TableView
Run Code Online (Sandbox Code Playgroud)
所以我在viewController的viewDidAppear中编写了这段代码:
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
var frame:CGRect = self.tableView.frame
frame.size.height = tableView.contentSize.height
self.tableView.frame = frame
scrollView.contentSize=CGSizeMake(scrollView.frame.size.width, tableView.frame.origin.y + tableView.frame.height)
}
Run Code Online (Sandbox Code Playgroud)
如果我在控制台中检查,则在所有cellForRowAtIndexPath之前调用viewDidAppear.在这种情况下,一切都按我的意愿运作.
在我的viewController中,我有一个打开modalViewController的按钮.在这个modalViewController中,我在tableview中添加了一个新数据(所以,一个新的单元格).
当我用dismissViewControllerAnimated关闭我的modalViewController时,会调用viewDidAppear但是在所有的cellForRowAtIndexPath之后.我的viewController没有正确显示,tableview被裁剪,我无法滚动到tableView的底部.我的代码不起作用.
我正在使用Swift和自动布局.
尝试在视图控制器中调用它:
automaticallyAdjustsScrollViewInsets = false
Run Code Online (Sandbox Code Playgroud)
如果您愿意,也可以在 Interface Builder 中设置它
| 归档时间: |
|
| 查看次数: |
3864 次 |
| 最近记录: |