我有一个典型的UITableViewController视图集。在所有视图上都有一个按钮,可以显示模型视图。在该设置视图上是一个按钮。我希望该按钮能够解除模态视图和在UITableViewController的navigationController上实现popToRootViewController。
解雇模态视图很简单:
[self dismissModalViewControllerAnimated:NO];
并且工作正常。我试过这个来弹出主UITableViewController:
[self.parentViewController.navigationController popToRootViewControllerAnimated:NO];
没有任何反应。
我可以实现一个委托来实现这一点,但是有很多视图控制器具有相同的设置按钮(还有更多),所以首选找到一个解决方案,在每个视图控制器中不需要额外的代码
非常感谢!
答案 0 :(得分:6)
通过rdelmal(https://stackoverflow.com/a/16311935/1395563)查看答案,这对我来说就像一个魅力。我在模态视图中的动作中使用此代码。
[(UINavigationController *)self.presentingViewController popToRootViewController:NO];
[self dismissViewControllerAnimated:YES completion:nil];
答案 1 :(得分:1)
尝试
[[[[UIApplication sharedApplication].keyWindow] rootViewController] popToRootViewController:YES];
答案 2 :(得分:1)
无法找到这样的解决方案,所以我实现了一个工作正常的协议/委托。只是:
[self.navigationController popToRootViewControllerAnimated:NO];
在委托电话中。
答案 3 :(得分:1)
在你的appdelegate文件中添加一个方法
-(void)GotoRoot{
[self.navigationController popToRootViewControllerAnimated:YES];}
现在在你的登记按钮
上的课程中调用它[self dismissModalViewControllerAnimated:NO];
[(TestAppDelegate *)[[UIApplication sharedApplication] delegate]) GotoRoot];
请恢复其结果;
答案 4 :(得分:0)
这对我有用
[[self parentViewController] popToRootViewControllerAnimated:NO]