我正在尝试实现 ECSlidingViewController 并且我在我的故事板中使用 segues。我遇到了MainViewController 的 viewDidLoad被调用两次的问题
self.slidingViewController.underLeftViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"Menu"];
总是被设置为空。更多信息。
- 登录屏幕(InitViewController)-----通过 segue---------> MainViewController。
在我的 MainViewController 中,我有以下代码。
-(void)addMenuViewControllerWithGesture{
self.view.layer.shadowOpacity = 0.075f;
self.view.layer.shadowRadius = 10.0f;
self.view.layer.shadowColor = [UIColor blackColor].CGColor;
if (![self.slidingViewController.underLeftViewController isKindOfClass:[rsMenuViewController class]]) {
self.slidingViewController.underLeftViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"Menu"];
}
}
在我的 InitViewController (登录)
-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
MainViewController *controller = segue.destinationViewController;
// setting some values before going to the next view.
controller.id = 0;
controller.name = @"harish";
self.topViewController = controller;
}
通过这样做,MainViewController 的 viewDidLoad被调用了两次,并且下面的值总是设置为 null。
self.slidingViewController.underLeftViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"Menu"];
希望很清楚。我有点卡在这里并寻找解决方案。
谢谢