UITabBarController предварительно загружает все ViewControllers при запуске приложения

#swift #uitabbarcontroller #tabbar #ios14

#swift #uitabbarcontroller #панель вкладок #ios14

Вопрос:

Можно предварительно загрузить ViewControllers с панели вкладок при запуске приложения? TabBarViewController и 3 ViewControllers созданы в раскадровке.

Я пробовал это в TabBarViewController

 self.viewControllers?.forEach({ (vc) in
        vc.loadViewIfNeeded()
})
  

но безуспешно.

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

Xcode 12, iOS 14

Комментарии:

1. В каком методе TabBarViewController вы это вызываете? Кроме того, вы можете также вызвать vc.view.layoutIfNeeded() , возможно, это будет то, что вы ищете.

2. @EDUsta Я вызываю это в viewDidLoad()

3. добавление vc.view. layoutIfNeeded() после того, как vc.loadViewIfNeeded() завершает работу приложения с ошибкой: «не удалось удалить из очереди вид вида: UICollectionElementKindCell с идентификатором button_cell — необходимо зарегистрировать кончик или класс для идентификатора или подключить ячейку прототипа в раскадровке». все ячейки зарегистрированы и работают ранее.