自定義導(dǎo)航控制器返回按鈕
在viewController的基類viewDidLoad中添加自定義返回按鈕
UIButton *button = [[UIButton alloc]initWithFrame:CGRectMake(0, 0, 44, 44)];
[button setTitle:@"返回" forState:UIControlStateNormal];
[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[button addTarget:self action:@selector(back:) forControlEvents:UIControlEventTouchUpInside];
if (self.navigationController.childViewControllers.count > 1) {
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithCustomView:button];
}
在viewWillAppear中設(shè)置系統(tǒng)手勢動畫的代理
if (self.navigationController.childViewControllers.count > 1) {
self.navigationController.interactivePopGestureRecognizer.delegate = (id)self;
}
并實現(xiàn)代理方法(利用此方法禁用導(dǎo)航控制器跟控制器的返回手勢)
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer{
if (self.navigationController.childViewControllers.count > 1) {
return YES;
}
return NO;
}