Как обновить contentSize UIScrollView в родительском контроллере из UITableView в дочернем viewController - PullRequest
0 голосов
/ 19 октября 2018

Я использовал следующий код для обновления ограничений родительского контроллера из дочернего viewController, но это создает проблемы:

 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
        }    
    }    
}   

Ответы [ 2 ]

0 голосов
/ 19 октября 2018

Нужно попробовать self.tableView.reloadData (), а затем получить tableView contentSize .

0 голосов
/ 19 октября 2018

Я рекомендую вам сделать этот код в viewDidLayoutSubviews и, пожалуйста, не используйте этот способ (UIApplication.visibleNavigationController.visibleViewController as! UserPrfileControl), просто добавьте свойство для родительского контроллера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...