如何以编程方式在单个UIViewController中禁用SWRevealViewController滑动,同时允许其在所有其他UIViewController中工作?
我想在登录视图控制器中禁用SWRevealViewController,以便用户无法使用菜单绕过它。
目前,用户可以滑动以显示菜单,然后选择转到另一个视图控制器的项目。我想禁用它。
答案 0 :(得分:8)
您只想禁用特定视图的平移手势。
像这样:
SWRevealViewController *reveal = self.revealViewController;
reveal.panGestureRecognizer.enabled = NO;
答案 1 :(得分:0)
我最终使用了一个变量,当选择任何菜单项时,该变量强制将相同的UIViewController强制回到前面。 (这恰好是一个登录页面。)这是我使用的代码。
即使选择了另一个菜单项,这也会强制我的登录页面成为活动页面。退出的唯一方法是输入用户名和密码。
从技术上讲,我没有禁用滑动,但这也有效。
Boolean bForceLogin = getMySettingFromDatabase;
if (bForceLogin)
{
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil];
UIViewController *vc = [sb instantiateViewControllerWithIdentifier:@"loginviewcontroller"];
[revealController setFrontViewController:vc animated:YES];
return;
}