在我的应用程序中按下loginViewController中的登录按钮后,它会推送到我SWRevealViewController
的前面viewController。在我的RearViewController
我有退出按钮。当我按下它时,它应该再次弹出到后面的viewController(LoginViewController)。但即使我设置了这样的按钮单击事件,它也不会导航到loginViewController。
-(void)signOutClick :(id)sender
{
[self performSelectorInBackground:@selector(moveToLoginView) withObject:nil];
}
-(void)moveToLoginView
{
[self.navigationController popToRootViewControllerAnimated:YES];
}
但是当我滑动视图时,它会向后视图发出。我想要禁用该滑动功能到后视图。当我点击RearViewController
中的退出按钮时,我想转到后视图。我怎样才能做到这一点?请帮帮我。
由于
答案 0 :(得分:-1)
我不确定,而不是使用
[self.navigationController popToRootViewControllerAnimated:YES];
尝试使用,
[self.navigationController popViewControllerAnimated:YES];
要停止滑动手势,您可以使用代码,
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
self.revealViewController.panGestureRecognizer.enabled = NO;
}
答案 1 :(得分:-2)
如果要通过单击执行这些操作,则需要重置顶视图控制器。 E.g。
获取ECSlidingViewController的实例
ECSlidingViewController *slidingController = self.slidingViewController;
获取您希望位于顶部的视图控制器
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *vc = [mainStoryboard instantiateViewControllerWithIdentifier:@"mainViewController"];
UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:vc];
设置topViewController属性
slidingController.topViewController = nc;
[slidingController resetTopViewAnimated:NO];