SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • NextKsa

    NextKsa

    7 EKİM 2009
  • Paul Schroder

    Paul Schrode

    30 Kasım 2007
  • Tracy Hairston

    Tracy Hairst

    22 Mayıs 2009