當用戶點擊警報視圖中顯示的自定義「後退」按鈕時,我遇到了一些導航到前一個視圖控制器(在我的導航控制器堆棧中)的問題。 我已經嘗試了幾種方法來做到這一點,但我一直無法做到。點擊該按鈕後,應用程序會簡單地返回到彈出警報的控制器(就像用戶按下「cancelButton」一樣)。 希望您能理解我這個示例代碼:從警報視圖按鈕返回導航
在viewDidLoad中,我彈出了警報:
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"XXXXXX"
message:@""
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:@"Back", nil];
[alert show];
[alert release];
之後,視圖控制器的代碼裏面我叫下一個動作要儘量向後導航:
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
if (buttonIndex == 1)
{
[self.navigationController popViewControllerAnimated:YES];
}}
整個代碼被執行,它沒有調試錯誤。 如果我沒有正確解釋我的麻煩,請告訴我,我會盡力做得更好! (我是西班牙語,我的英語不是最好的)。 在此先感謝。
我會試着更好地解釋它,爲了告訴你,我的問題可能會更難解決?
我有一個導航控制器,在一個確定的時刻,顯示了與標籤欄查看。您可能知道無法在導航控制器中實現標籤欄控制器,因此我使用了一個「自定義控制器」來插入該標籤欄。
然後,從該視圖與標籤欄(其中我已經添加了一些子視圖)我想導航回到(沒有標籤欄的視圖,單擊警報按鈕),我將其視爲先前的視圖在導航堆棧中,我可以看到當我在導航欄中按下後退按鈕時...
我不知道現在是否更清晰或者我更困惑您... 我可以嘗試讓你成爲控制器的圖表,如果你願意的話。 感謝您的幫助!
您的描述就足夠了。讓我們誰可以幫忙。 – 2011-02-09 10:32:39
你確定`self.navigationController`不是`nil`嗎?而且,導航控制器已經有一些視圖控制器? – EmptyStack 2011-02-09 10:33:31