【发布时间】:2015-06-20 07:06:45
【问题描述】:
我正在使用SWRevelViewController 框架并在编码时遇到了这个问题。基本上这是我的 VC 及其课程的列表:
http://mnch.in/ubyB/3g4uqSwl(我的故事板图片)
问题是当用户登录UIVC_2 时,它会使用蓝色标记的segue 回到SWRevelVC。但是,当UITableVC 中的viewDidLoad 方法被调用时
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 不会弹出),并且在其viewDidLoad 方法,self.revealViewController 不为零,因此侧边栏在这种情况下有效。
谁能解释为什么会发生这种情况以及我应该如何解决它,以便当我从UIVC_2 转到SWRevealVC 时,self.revealViewController 不会是nil?这个问题我想了很久,还是没明白。非常感谢!
编辑: 这是一个类似的问题,也没有回答: Swift SWRevealViewController Menu not showing after segue back to certain page。 我的案例表明,即使您一直回到 SWRevealViewController,self.revealViewController 仍然没有初始化
【问题讨论】:
标签: ios objective-c cocoa