可以放在 公共的 controller 里。
- (void)ViewdidLoad{
//
获取系统自带滑动手势的target对象
id target = self.navigationController.interactivePopGestureRecognizer.delegate;
// 创建全屏滑动手势,调用系统自带滑动手势的target的action方法
UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:target action:@selector(handleNavigationTransition:)];
// 设置手势代理,拦截手势触发
pan.delegate = self;
// 给导航控制器的view添加全屏滑动手势
[self.view addGestureRecognizer:pan];
// 禁止使用系统自带的滑动手势
id target = self.navigationController.interactivePopGestureRecognizer.delegate;
// 创建全屏滑动手势,调用系统自带滑动手势的target的action方法
UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:target action:@selector(handleNavigationTransition:)];
// 设置手势代理,拦截手势触发
pan.delegate = self;
// 给导航控制器的view添加全屏滑动手势
[self.view addGestureRecognizer:pan];
// 禁止使用系统自带的滑动手势
self.navigationController.interactivePopGestureRecognizer.enabled
= NO;
}
- (void)handleNavigationTransition:(UIPanGestureRecognizer
*)sender { [self.navigationController
popViewControllerAnimated:YES];
}
本文介绍如何在公共控制器内实现全屏滑动手势以控制导航,包括手势识别、代理设置及禁止系统默认行为,适用于iOS应用开发。

101

被折叠的 条评论
为什么被折叠?



