如何在一个UIViewController中禁用SWRevealViewController滑动

时间:2014-07-23 22:44:13

标签: ios uiviewcontroller swrevealviewcontroller

如何以编程方式在单个UIViewController中禁用SWRevealViewController滑动,同时允许其在所有其他UIViewController中工作?

我想在登录视图控制器中禁用SWRevealViewController,以便用户无法使用菜单绕过它。

目前,用户可以滑动以显示菜单,然后选择转到另一个视图控制器的项目。我想禁用它。

2 个答案:

答案 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;
}