我有一个使用故事板的应用程序。布局是:导航控制器>登录视图控制器>选项卡栏控制器和每个选项卡都有一个Nav控制器,指向该选项卡的UIViewController。我正在尝试创建一个注销按钮,该按钮将删除TabBarController并返回到Login View Controller。我的代码如下:
// In log out function
[self.tabBarController dismissViewControllerAnimated:YES completion:nil];
[self performSelector:@selector(patchSelector) withObject:nil afterDelay:0.3];
-(void)patchSelector{
[self.tabBarController.navigationController popToRootViewControllerAnimated:YES];
}
我一直收到以下错误:
*** Terminating app due to uncaught exception 'UIViewControllerHierarchyInconsistency', reason: 'presentedViewController for controller is itself on dismiss for
我尝试阅读以下内容:
No visible interface for dismissModalViewControllerAnimated:completion
http://www.touchthatfruit.com/viewwillappear-and-viewdidappear-not-being-ca
UITabbarController dismiss modal UINavigationController
然而,以上都没有帮助我得到的错误。这有什么我想念的吗?该错误似乎表明当前的vc正在被清理之中。
答案 0 :(得分:0)
当我删除我的第一个UINavigationController(登录屏幕之前的那个)并且我将上面的第一行改为:[self dismissModalViewControllerAnimated:YES];
时,它可以工作......但是只有当我把它变成模态segue时才会这样。最简单的解决方案不知道为什么我的原始问题是,但我能够以这种方式解决它至少!