iOS左滑捕获左滑事件

左滑事件是iOS7.0推出的,从很大程度上方便了用户操作,但有事我们左滑不一定是要返回之前的页面,这个时候就要修改左滑后跳转到指定的页面。我在项目中遇到这种要求,如下:


iOS左滑捕获左滑事件_第1张图片

如果访客以前申请过,首先进入权限状态的显示页面,然后点击重新申请,就进入申请的页面。申请完毕后,左滑直接回到我的页面。


iOS左滑捕获左滑事件_第2张图片
iOS左滑捕获左滑事件_第3张图片

通过网上搜索,找到以下两个方法,不管是push和pop都会调用到此方法


- (void)willMoveToParentViewController:(UIViewController*)parent

- (void)didMoveToParentViewController:(UIViewController*)parent//这两个方法是系统写的类别UIContainerViewControllerCallbacks中的方法。

然后在申请的页面,实现这两个方法,做自己想要的处理:

- (void)willMoveToParentViewController:(UIViewController*)parent{

[super willMoveToParentViewController:parent];

NSLog(@"%s,%@",__FUNCTION__,parent);

}

- (void)didMoveToParentViewController:(UIViewController*)parent{

[super didMoveToParentViewController:parent];

if(parent) {

NSLog(@"%s1111111,%@",__FUNCTION__,self.navigationController.viewControllers);

UIViewController * VC = [self.navigationController.viewControllers objectAtIndex:1];

NSString * className = NSStringFromClass([VC class]);

if ([className isEqualToString:@"PermissionApplyStatusController"]) {

NSMutableArray * mTmp = [NSMutableArray arrayWithArray:self.navigationController.viewControllers];

[mTmp removeObjectAtIndex:1];

self.navigationController.viewControllers = (NSArray *)mTmp;

}

}

}

在push进入此页面的时候,将导航控制器中的子控制器是权限状态控制器的移除,重新给导航控制器的子控制器赋值。

这是原文 ,感谢分享!






当一个视图控制器从视图控制器容器中被添加或者被删除之前,该方法被调用

你可能感兴趣的:(iOS左滑捕获左滑事件)