代碼
- (void)viewDidLoad {
[super viewDidLoad];
//獲取全屏滑動(dòng)代理
id target = self.interactivePopGestureRecognizer.delegate;
//不提示警告
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wundeclared-selector"
UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:target action:@selector(handleNavigationTransition:)];
#pragma clang diagnostic pop
[self.view addGestureRecognizer:pan];
// 取消邊緣滑動(dòng)手勢(shì)
self.interactivePopGestureRecognizer.enabled = NO;
pan.delegate = self;
}
pragma mark ---- <UIGestureRecognizerDelegate>
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{
if ([[otherGestureRecognizer view] isKindOfClass:[UIScrollView class]]) {
UIScrollView *scrollView = (UIScrollView*)[otherGestureRecognizer view];
if (scrollView.contentOffset.x == 0) {
return YES;
}else{
return NO;
}
}
return YES;
}
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
// 判斷下當(dāng)前是不是在根控制器
return self.childViewControllers.count > 1;
}
pragma mark ---- <非跟視圖隱藏TarBar>
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated{
if (self.viewControllers.count > 0) {
viewController.hidesBottomBarWhenPushed = YES;
}
[super pushViewController:viewController animated:animated];
}
@end
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者