IOS:

2012-04-18 18 views
6
Üç viewController

IOS:

, Birinci İkinci ve

İkinci gelen

açmak Üçüncü Third var

ben

Third *third = [[Third alloc]initWithNibName:@"Third" bundle:nil]; 
[self presentModalViewController:third animated:YES]; 
[third release]; 

Şimdi ilk üçüncü dönmek istiyorum kullanan iki viewController görevden;

[self dismissModalViewControllerAnimated:NO]; 

ama ikinci ve bunu izlemek istemiyorum bakınız 1 saniye ... nasıl yapabilirsiniz: o zaman ikinci Bu kodda viewDidAppear kurdu?

+1

İlk görünüme ikinci görünüm nasıl eklenir? –

cevap

15

Önce üçüncü denetleyiciyi ve sonra da ikinci Viewcontroller'ı kapatmanız gerekir. İlk görüntü denetleyicisine gitmek istediğinizde aşağıdaki kodu yapın.

-(void)goToFirstView{ 
     UIViewController *vc = [self parentViewController]; 
    //  UIViewController *vc = [self presentingViewController]; //ios 5 or later 
     [self dismissModalViewControllerAnimated:NO]; 
     [vc dismissModalViewControllerAnimated:YES]; 
} 
4

Üçüncü model görünümü ilk etapta nasıl işten atılıyor? Belki de 'Bitti' düğmesine dokunan kullanıcı tarafından? Eğer öyleyse, ikisini de kapatmak istediğiniz düğme için işleyicide.

Her iki şekilde sayabilirsiniz: o bunu kapatmak göründüğü gibi görünüm böylece en kısa sürede görünür ve kaybolmadan önce bu viewDidAppear coz olur

[self dismissModalViewControllerAnimated: YES]; 
[self.presentingViewController dismissModalViewControllerAnimated: NO]; 
+0

** Animasyonlu ** parametrelerinin EVET YOK olması gerektiğini düşünüyorum, bkz. RakeshNS'nin cevabı – onmyway133

0

denir her şey ..

Bilmiyorum u yerine ... modalViewControllers ile elde edilebilir yapmak bir NavigationController kullanmaya çalışıyoruz ne düşünmek ve yığının üzerine viewcontrollers eklemeye devam ve goto istediğinizde ilk görüntüleme kontrolör sadece

[self.navigationController popToRootViewControllerAnimated:YES];  
çağrı

EDIT: sadece bu düşünce

heyeti kullanılarak elde edilebilir .. Eğer ikinci, üçüncü delegesi yapmak ve en kısa sürede temsilci bir message.In Bu mesajı çağrı [self dismissModalViewControllerAnimated:NO]; göndermek thirdviecontroller reddediyorlar. ve işiniz bitti .. (Yetkilendirmeyi biliyorsanız oldukça kolay.)