ios7禁止默认划动返回

 self.navigationController.interactivePopGestureRecognizer.enabled = NO;

在使用之前先要判断是否ios7,不然会导致crash。然后创建一个自己的navigationController继承UINavigationController。之后还要设置UINavigationControllerDelegate,这样以上的方法才能触发。最后就判断要show出来的viewController是否需要支持划动返回了。

 

 

 

 - (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated

{
     if ([ self respondsToSelector : @selector (interactivePopGestureRecognizer)]) {
         if (viewController .class == [ MyViewController class ])
         {
             self .interactivePopGestureRecognizer .enabled = NO ;
         } else {
             self .interactivePopGestureRecognizer .enabled = YES ;
         }
     }
}

 

你可能感兴趣的:(ios7)