2010-05-15 16 views
6

Durum:
"Gezinme Tabanlı Uygulama" şablonuna dayalı bir Xcode projem var. Yani bir UIViewController yöneten bir SINGLE UINavigationController var demektir.Gezinme Denetleyicileri arasında nasıl geçiş yapabilirim?

ben Yapmak istediğim şey: Ne yapmak istiyorum projeme bir daha UINavigationController eklemek
- ve aralarında geri ve ileri geçiş yapabileceklerdir. (Ben kök görünümü denetleyicisine geri işaret eden bir geri düğmesi yoksa, böylece bazı ayrı ilgisiz içerik için yer açmak için bunu yapmak istiyor.)

Soru:
nasıl bir daha eklerim Projeme UINavigationController ve iki UINavigationControllers arasında geçiş?

+0

Neden sadece arka tuşunu saklamıyorsunuz? – drawnonward

+0

İki alan arasında nasıl değişiyorsunuz? Bir UITabBarController? – Rudiger

cevap

9

En yaygın ve doğal iPhone işletim sistemi, bunu yapmanın yolu uygulamanıza bir UITabBarController eklemektir. Xcode şablonu Sekme Çubuğu Uygulaması, onu nasıl kullanacağınız konusunda sizi yönlendirecektir.

Ama ...

uygulamanızda bir sekme Bar var ve farklı UINavigationController durumlarda (ya da bu konuda herhangi UIViewController) arasında geçiş yapmak isterseniz sevmiyorum ise, böyle bir şey yapabilir .

İlk önce uygun bir yere UINavigationController örneklerinizi oluşturmanız gerekir (örneğin, yeni bir görünüm denetleyicisi veya siz uygulamayı kolaylaştırmak istiyorsanız Uygulama Temsilcisinde). Daha sonra, denetleyicileri arasında yalnızca görünmesi gereken Navigasyon Kontrolörünün görünümünü değiştirerek geçiş yapabilirsiniz.

- (void)showFirstNavigationController { 
    [secondNavigationController.view removeFromSuperview]; 
    [self.window addSubview:firstNavigationController.view]; 
} 

Bu sadece yerine ikinci Gezinti Kontrol birinci görüntüler: Uygulama temsilci

örneği "firstNavigationController" ve "secondNavigationController" UINavigationController örneği değişkenlerdir. Bu örneğin çok basit olduğunu unutmayın. viewWillAppear:, viewDidAppear: ve benzeri yöntemleri doğru şekilde ele almanız gerektiğini dikkate almadım.

+0

Teşekkürler - ve ekstra kredi için: Geçişi düzgün (veya animasyonlu) nasıl yapabilirim? – RexOnRoids

+0

Bazı temel UIView animasyonlarıyla bunu kolayca yapabilirsiniz. Metodumdaki ilk satırdan önce şunu ekleyin: '[UIView beginAnimations: @" myFlip "bağlam: NULL];' ve '[UIView setAnimationTransition: UIViewAnimationTransitionFlipFromLeft forView: self.view önbellek: YES]; Ve altta: UIView commitAnimations]; ' – alleus

+0

bunu nasıl hızlı yapmalı? – DeyaEldeen

İlgili konular