gpt4 book ai didi

ios - 根据他子tableview在SWIFT中的高度调整scrollview的高度

转载 作者:搜寻专家 更新时间:2023-10-31 08:08:51 24 4
gpt4 key购买 nike

我有一个 viewController,在 scrollview 中有一个 tableview。

我需要以编程方式更新 tableview 的高度,然后是 scrollview 的高度(scrollview 的高度取决于 tableview 的高度)。

-my View Controller
-View
-ScrollView
-Container View
-TableView

所以我在 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)

}

如果我在控制台中查看,viewDidAppear 在所有 cellForRowAtIndexPath 之前被调用。在这种情况下,一切都如我所愿。

在我的 viewController 中,我有一个打开 modalViewController 的按钮。在这个 modalViewController 中,我在我的 TableView 中添加了一个新数据(因此,一个新单元格)。

当我使用 dismissViewControllerAnimated 关闭 modalViewController 时,将调用 viewDidAppear,但在所有 cellForRowAtIndexPath 之后。我的 viewController 显示不正确,tableview 被裁剪,我无法滚动到 tableView 的底部。我的代码不起作用。

我正在使用 Swift 和自动布局。

最佳答案

尝试在你的 View Controller 中调用它:

automaticallyAdjustsScrollViewInsets = false

如果您愿意,您也可以在 Interface Builder 中设置它

关于ios - 根据他子tableview在SWIFT中的高度调整scrollview的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27735089/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com