我有一个视图(viewB),像往常一样使用pushViewController从另一个视图(viewA)使用导航控制器推入,但出于某种原因,我希望viewB的控制器从内部使用[self.navigationController popViewControllerAnimated:YES];
弹出视图它的viewDidLoad
方法或viewDidAppear
方法,但没有一个工作,即没有任何事情发生(应用程序中没有崩溃),但是,我在viewB中有一个UIButton,IBAction只调用{{1如果点击按钮它将工作,视图弹出到上一个视图!如果我从viewDidLoad或viewDidAppear方法中删除[self.navigationController popViewControllerAnimated:YES];
,则此IBAction有效,因为弹出将从内存中释放当前视图及其所有子视图。
问题是如何从viewDidLoad或viewDidAppear方法中将当前视图(viewB)弹出到上一个视图(viewA)?
提前感谢你。
答案 0 :(得分:5)
尝试制作方法
- (void)popSelf {
[self.navigationController popViewControllerAnimated:YES];
}
在viewDidAppear
添加
[self performSelector:@selector(popSelf) withObject:nil afterDelay:0.0f];
这会将选择器添加到runloop,因此它将在viewDidAppear
之后执行。