2011-12-17 29 views
0

我有一個視圖(viewB)被推入使用pushViewController從另一個視圖(viewA)導航控制器像往常一樣,但由於某種原因,我希望viewB的控制器彈出從viewDidLoad方法或viewDidAppear方法使用[self.navigationController popViewControllerAnimated:YES];視圖,但它們都不起作用,即沒有任何反應(應用程序沒有崩潰),但是,我有一個IBAction的viewB中的UIButton,只需輕按按鈕即可調用[self.navigationController popViewControllerAnimated:YES];它會工作,並且視圖被彈出到前一個視圖!如果我從viewDidLoad或viewDidAppear方法中刪除[self.navigationController popViewControllerAnimated:YES];,則此IBAction將起作用,因爲彈出將從內存中釋放當前視圖及其所有子視圖。 問題是如何從viewDidLoad或viewDidAppear方法中獲取當前視圖(viewB)以前的視圖(viewA)?放置popViewControllerAnimated:在viewDidLoad或viewDidAppear將無法正常工作

非常感謝你提前。

回答

4

嘗試使方法

- (void)popSelf { 
    [self.navigationController popViewControllerAnimated:YES]; 
} 

viewDidAppear添加

[self performSelector:@selector(popSelf) withObject:nil afterDelay:0.0f]; 

這將增加選擇器runloop,所以它會viewDidAppear之後進行。

+0

公牛的眼睛......非常感謝百萬傢伙.. – JAHelia 2011-12-17 08:36:16

相關問題