2012-01-19 127 views
1

如果我將視圖推送到Navcontroller上,它效果很好,我可以使用代碼或使用Nav Controller返回按鈕從它返回。dismissModalViewControllerAnimated不返回

然後我改變它以模態呈現視圖。預設的作品,但我不能讓它返回並消除模態視圖。

這工作...主視圖

Tools *screen = [[Tools alloc] initWithNibName:@"Tools" bundle:[NSBundle mainBundle]]; 

    [mainNavController pushViewController:screen animated:YES]; 

    [screen release]; 

其中一個模式的看法:

- (IBAction)btnCancel:(id)sender { 


    [self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:0] animated:YES]; 


} 

但後來我改變它莫代爾這樣的模式的看法不回去主視圖。

Tools *screen = [[Tools alloc] initWithNibName:@"Tools" bundle:[NSBundle mainBundle]]; 

[mainNavController presentModalViewController:screen animated:YES]; 

    [screen release]; 

在模式的看法:

- (IBAction)btnCancel:(id)sender { 


    [self.parentViewController dismissModalViewControllerAnimated:YES]; 


} 

我曾嘗試一切我能想到的,顯然我失去了一些東西!有任何想法嗎?

感謝您的任何幫助!

回答

2

拒絕來自自我(模式視圖)模式視圖

[self dismissModalViewControllerAnimated:YES]; 
+0

工作正常!謝謝您的幫助! – 2012-01-19 00:30:16

0

您的btnCancel方法實際上是否被調用?你有沒有試過插入一個NSLog語句或斷點來驗證?

你的代碼看起來很適合我,所以我想知道你是否剛剛在Interface Builder中掛鉤了某些東​​西。

+0

@X斜線有想法,不排除本身和工作。我不知道爲什麼,從來沒有這樣做過。當然,以圖形方式查看視圖堆棧會很酷,所以你知道發生了什麼。我很好地學到了另一個教訓。感謝您的想法! – 2012-01-19 00:31:55

+0

我可能是錯的,但是,你的代碼應該在iOS 4上工作,在iOS 5上,我認爲他們改變了方式,modalView.parentViewController(例如)最有可能返回零,因此發送任何消息到零無效! (未經測試,在我的頭上,所以請自己測試一下) – 2012-01-19 02:57:33