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

  • Jeb Corliss

    Jeb Corliss

    17 Kasım 2006
  • Alexey - servant of Christ

    Alexey - ser

    15 EYLÜL 2007
  • LAHWF

    LAHWF

    5 Kasım 2009