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

  • Android Authority

    Android Auth

    3 NİSAN 2011
  • Chilla Frilla™

    Chilla Frill

    7 Aralık 2006
  • wwjoshdo

    wwjoshdo

    25 Mayıs 2009