从登录屏幕中删除RevealViewController PanGestureRecognizer

时间:2014-10-01 14:45:20

标签: xcode6 uistoryboard sidebar uistoryboardsegue swrevealviewcontroller

我已经从Appcode实施了SidebarDemo项目,然后使用Login屏幕修改了Storyboard,现在当我启动我的应用程序登录屏幕时,这是正确的,我不希望Pan Gesture登录屏幕,我试图删除它来自以下代码

    - (void)viewDidLoad
{
    [super viewDidLoad];

    [self.navigationController.view removeGestureRecognizer:self.revealViewController.panGestureRecognizer];

}


- (void) viewWillAppear:(BOOL)animated {

    [super viewWillAppear:animated];


    for (UIGestureRecognizer *recognizer in self.navigationController.view.gestureRecognizers) {
        [self.navigationController.view removeGestureRecognizer:recognizer];
    }

     self.revealViewController.panGestureRecognizer.cancelsTouchesInView = NO;

//    NSArray* gestureRecognizers = [self.navigationController.navigationBar gestureRecognizers];
//    for (UIGestureRecognizer *gestureRecognizer in gestureRecognizers) {
//        if ([gestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]]) {
//            gestureRecognizer.enabled =  YES;
//            
//            break;
//        }
//    }

    //[self.revealViewController.panGestureRecognizer removeTarget:self action:@selector(revealToggle:)];

}

但Pan Gesture仍在刷登录,但是当我进入内部屏幕并进入登录屏幕以便它被删除,但为什么它不会从应用程序启动的第一次删除

我的故事板图片如下

Story board

1 个答案:

答案 0 :(得分:1)

据我了解,您的登录屏幕不应该是SWRevealViewController的前视图,因为您不需要其中的侧边栏。从登录视图控制器创建模式segue到显示视图控制器,并在用户成功登录时执行。从显示视图控制器中删除segue到登录的导航控制器,但是从显示到调查选择创建一个(不要忘记将其设置为sw_front并将测量选择控制器嵌入到导航控制器中) 。从侧边栏的注销按钮创建segue到登录的导航视图控制器,并在用户想要注销时执行。 为了更清楚,我添加了我自己的应用程序的照片,它有类似的东西。

http://i.stack.imgur.com/f3nWe.png