[英]popViewControllerAnimated won't work inside viewDidAppear
[英]placing popViewControllerAnimated: in viewDidLoad or viewDidAppear will not work
我有一個視圖(viewB),該視圖(viewB)像往常一樣使用pushViewController從另一個視圖(viewA)推入,但是由於某些原因,我希望viewB的控制器使用[self.navigationController popViewControllerAnimated:YES];
彈出視圖[self.navigationController popViewControllerAnimated:YES];
從它的viewDidLoad
方法或viewDidAppear
方法內部,但是它們都不起作用,即什么也沒發生(應用程序中沒有崩潰),但是,我在viewB中有一個帶有IBAction的UIButton,它僅調用[self.navigationController popViewControllerAnimated:YES];
如果點擊該按鈕,它將起作用,並且該視圖跳至上一個視圖! 如果我刪除了[self.navigationController popViewControllerAnimated:YES];
則此IBAction起作用[self.navigationController popViewControllerAnimated:YES];
從viewDidLoad或viewDidAppear方法獲取,因為彈出會從內存中釋放當前視圖及其所有子視圖。 問題是如何從viewDidLoad或viewDidAppear方法內部將當前視圖(viewB)彈出到上一個視圖(viewA)?
提前非常感謝您。
嘗試制作方法
- (void)popSelf {
[self.navigationController popViewControllerAnimated:YES];
}
在viewDidAppear
添加
[self performSelector:@selector(popSelf) withObject:nil afterDelay:0.0f];
這會將選擇器添加到runloop,因此它將在viewDidAppear
之后執行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.