我使用以下代码从 subview Controller 更新父 Controller 的约束,但它产生了问题:
func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
print("in will display row - \(indexPath.row)")
if (UIApplication.visibleNavigationController.visibleViewController is UserPrfileControl){
if (UIApplication.visibleNavigationController.visibleViewController as! UserPrfileControl).childControllerToUpdate == "userPost"{
(UIApplication.visibleNavigationController.visibleViewController as! UserPrfileControl).commentViewHeight.constant = 0
(UIApplication.visibleNavigationController.visibleViewController as! UserPrfileControl).burnedPostsHeight.constant = 0 .
(UIApplication.visibleNavigationController.visibleViewController as! UserPrfileControl).userProfileViewHeight.constant = self.tableView.contentSize.height
}
}
}
最佳答案
我建议您在 viewDidLayoutSubviews 中编写此代码,并且请不要使用这种方式(UIApplication.visibleNavigationController.visibleViewController as!UserPrfileControl),只需为您的父 Controller 添加属性即可。
关于ios - 如何从子viewController中的UITableView更新父 Controller 中UIScrollView的contentSize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52888095/