ios整体侧滑

2017-12-12  本文已影响0人  于国文奋斗的少年

ios侧滑的封装  来点儿实际的 直接撸代码 简单搞定

a,实现方法 viewdidload中

- (void)viewDidLoad {

[super viewDidLoad];

self.delegate = self;

__weak typeof(self) weakSelf = self;

if ([self respondsToSelector:@selector(interactivePopGestureRecognizer)]) {

self.interactivePopGestureRecognizer.delegate = weakSelf;

}

}

b,实现UIGestureRecognizerDelegate中的方法

-(BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer{

if (self.navigationController.viewControllers.count == 1) {

return NO;

}else{

return YES;

}

}

c 实现UINavigationControllerDelegate 的方法

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

if ([navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {

navigationController.interactivePopGestureRecognizer.enabled = YES;

}

//使navigationcontroller中第一个控制器不响应右滑pop手势

if (navigationController.viewControllers.count == 1) {

navigationController.interactivePopGestureRecognizer.enabled = NO;

navigationController.interactivePopGestureRecognizer.delegate = nil;

}

}

-(void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated{

if ([self respondsToSelector:@selector(interactivePopGestureRecognizer)]) {

self.navigationController.interactivePopGestureRecognizer.enabled = NO;

}

[self.navigationController pushViewController:viewController animated:animated];

}

这就完成了  奋斗吧骚年
上一篇下一篇

猜你喜欢

热点阅读