Iphone 在viewDidLoad或ViewDidDisplay中放置popViewControllerAnimated:将不起作用
我有一个视图(viewB),它像往常一样使用导航控制器从另一个视图(viewA)使用pushViewController推入,但是出于某种原因,我希望viewB的控制器使用Iphone 在viewDidLoad或ViewDidDisplay中放置popViewControllerAnimated:将不起作用,iphone,objective-c,ios,Iphone,Objective C,Ios,我有一个视图(viewB),它像往常一样使用导航控制器从另一个视图(viewA)使用pushViewController推入,但是出于某种原因,我希望viewB的控制器使用[self.navigationController popViewControllerAnimated:YES]弹出视图从它的viewdiload方法或viewdideappear方法内部,但它们都不起作用,即没有发生任何事情(应用程序中没有崩溃),但是,我在viewB中有一个UIButton,带有iAction,它只调用[
[self.navigationController popViewControllerAnimated:YES]弹出视图代码>从它的viewdiload
方法或viewdideappear
方法内部,但它们都不起作用,即没有发生任何事情(应用程序中没有崩溃),但是,我在viewB中有一个UIButton,带有iAction,它只调用[self.navigationController popViewControllerAnimated:YES]代码>如果点击按钮,它将工作,视图将弹出到上一个视图!!如果我删除了[self.navigationController popViewControllerAnimated:YES]代码>来自ViewDiLoad或ViewDidAspect方法,因为弹出将从内存中释放当前视图及其所有子视图。
问题是如何从viewDidLoad或ViewDidAspect方法内部将当前视图(viewB)弹出到上一个视图(viewA)
提前非常感谢。试试制作方法
- (void)popSelf {
[self.navigationController popViewControllerAnimated:YES];
}
在<代码>视图中显示
[self performSelector:@selector(popSelf) withObject:nil afterDelay:0.0f];
这将把选择器添加到runloop中,因此它将在viewdide出现后执行
- (void)popSelf {
[self.navigationController popViewControllerAnimated:YES];
}
在<代码>视图中显示
[self performSelector:@selector(popSelf) withObject:nil afterDelay:0.0f];
这将向runloop添加选择器,因此它将在ViewDidDisplay
之后执行