ViewDidAppear tidak dipanggil saat mengalihkan tampilan TabBarController secara terprogram

Saya secara terprogram mengalihkan tampilan TabBarController dari pengontrol tampilan modal (lihat pertanyaan ini). Delegasi mengganti tab dengan benar, tetapi viewDidAppear tidak dipanggil di tab yang baru disajikan. Apakah ada cara untuk memaksa viewDidAppear dipanggil? Atau apakah saya melakukan sesuatu yang salah?


person bmueller    schedule 29.08.2012    source sumber


Jawaban (3)


Akhirnya saya menemukan jawabannya - itu karena saya memanggil saklar tab sebelum mengabaikan tampilan modal. Setelah saya mengganti pesanan, itu berfungsi dengan baik.

person bmueller    schedule 30.08.2012

Paksa untuk memanggil 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
Hal ini tidak menyelesaikan masalah, melainkan justru mengatasinya, yang dapat menyebabkan kebingungan di kemudian hari - person keji; 20.10.2015

Saya memiliki masalah yang sama sebelumnya. Di viewDidLoad() TabBarViewController saya, saya memilih tab lain secara terprogram sebagai selectedIndex = 3. viewDidAppear() target viewController tidak dipanggil. Tetapi jika saya memindahkan selectedIndex = 3 dari viewDidLoad() ke viewDidAppear(), masalahnya terpecahkan.

person Wu Yuan Chun    schedule 14.02.2017