ViewDidAppear не вызывается при программном переключении представлений TabBarController


person bmueller    schedule 29.08.2012    source источник


Ответы (3)


Наконец-то понял это - это потому, что я вызывал переключатель вкладок, прежде чем закрыть модальное представление. Как только я изменил порядок, он работал нормально.

person bmueller    schedule 30.08.2012

Принудительно вызывать viewDidAppear;

- (void)viewController:(YourViewControllerSubclass *)viewController isBeingDismissedWithImage:(BOOL)imageTaken {
  // Select the tabbar index (which is the second controller)
  [secondController viewDidAppear:YES];
}
person DLende    schedule 30.08.2012
comment
Это не устраняет проблему, а скорее обходит ее, что может привести к путанице в будущем. - person keji; 20.10.2015

У меня была такая же проблема раньше. В моем TabBarViewController viewDidLoad() я программно выбрал другую вкладку как selectedIndex = 3. Целевой viewController viewDidAppear() не вызывается. Но если я перемещу selectedIndex = 3 с viewDidLoad() на viewDidAppear(), проблема будет решена.

person Wu Yuan Chun    schedule 14.02.2017