我使用SWRevelViewController
框架并在编码时遇到了这个问题。基本上这里是我的VC及其类的列表:
http://mnch.in/ubyB/3g4uqSwl(我的故事板图片)
问题是当用户登录UIVC_2
时,它会使用标记为蓝色的segue返回SWRevelVC
。但是,当viewDidLoad
中的UITableVC
方法被调用时
SWRevealViewController *revealViewController = self.revealViewController;
NSLog(@"%@", [revealViewController description]);
if (revealViewController) {
NSLog(@"hey");
[self.sidebarButton setTarget: self.revealViewController];
[self.sidebarButton setAction: @selector( revealToggle: )];
[self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];
}
self.revealViewController
变为nil
,因此侧边栏停止工作,因为它永远不会进入if语句并设置侧边栏按钮的目标。
但是,如果我首先登录用户,然后关闭应用,然后再次构建并运行该应用,则UITableVC
会直接显示UIVC_1
,UIVC_2
赢得' t弹出),并且在其viewDidLoad
方法中,self.revealViewController
不是零,因此在这种情况下边栏工作。
任何人都可以解释为什么会发生这种情况,我应该如何解决这个问题,以便当我从UIVC_2
进入SWRevealVC
时,self.revealViewController
不会成为nil
?我已经考虑了很长时间了,但仍然没有得到它。非常感谢!
修改 这是一个类似的问题,也没有回答: Swift SWRevealViewController Menu not showing after segue back to certain page。 我的情况表明即使你一直回到SWRevealViewController,self.revealViewController仍未初始化
答案 0 :(得分:0)
实际上没关系我是愚蠢的,这实际上有效,我犯的错误是我将segue从UIVC_2更改为SWRevelVC,但我一直在测试使用另一个VC(让他们称之为UIVC_3)和UIVC_3' s segue还没有链接到SWRevealVC,而是导航控制器......