29 Kasım 2009, Pazar
viewWillDisappear: görünüm denetleyicisi attı ediliyor veya alt görünümü denetleyicisi gösterip göstermediğini Belirlemek
Bu sorun için iyi bir çözüm bulmak için mücadele ediyorum. Bir görünüm denetleyicisi -viewWillDisappear:
yöntem, ihtiyacım var bulmak için bir yol olup olmadığını belirlemek için çünkü bir görünümü denetleyicisi zorladı üzerine gezinti kontrol yığın, ya da olup olmadığını, çünkü görünümü denetleyicisi kaybolması nedeniyle oldu çıktı.
Şu anda isShowingChildViewController
gibi bayraklar ayarlıyorum ama oldukça karmaşık bir hal alıyor. Bunu tespit edebilirim tek yolu -dealloc
yöntemi.
CEVAP
29 Kasım 2009, Pazar
Aşağıdaki kullanabilirsiniz.
- (void)viewWillDisappear:(BOOL)animated {
NSArray *viewControllers = self.navigationController.viewControllers;
if (viewControllers.count > 1 && [viewControllers objectAtIndex:viewControllers.count-2] == self) {
// View is disappearing because a new view controller was pushed onto the stack
NSLog(@"New view controller was pushed");
} else if ([viewControllers indexOfObject:self] == NSNotFound) {
// View is disappearing because it was popped from the stack
NSLog(@"View controller was popped");
}
}
Bu UİNavigationController bakış yığın (viewControllers özelliği açığa) denetleyicisi viewWillDisappear adlı zaman güncellendi çünkü, elbette, mümkün değildir.
Bunu Paylaş:
ASP.NET MVC - Görünümü veya Denetleyic...
Nasıl önceki görünüm gezinti yığını de...
Görünümü denetleyicisi'görünüm - ...
ASP.NET MVC: Tüm olası yolları Denetle...
Nasıl Görünüm Denetleyicisi Çevreleme ...