iOS 自定义返回按钮苹果自带的右滑返回功能就会消失,要想实现右滑返回的功能很简单.
遵守协议:
<UIGestureRecognizerDelegate>
- (void)viewDidLoad {
[super viewDidLoad];
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
[btn setImage:[UIImage imageNamed:@"pic"] forState:UIControlStateNormal];
btn.frame = CGRectMake(0, 0, 30, 30);
UIBarButtonItem *leftBtn = [[UIBarButtonItem alloc] initWithCustomView:btn];
self.navigationItem.leftBarButtonItem = leftBtn;
[btn addTarget:self action:@selector(BtnBackClick) forControlEvents:UIControlEventTouchUpInside];
//设置代理
self.navigationController.interactivePopGestureRecognizer.delegate = self;
}
- (void)BtnBackClick
{
[self.navigationController popViewControllerAnimated:YES];
}
//实现代理方法
- (BOOL) gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
{
if (self.navigationController.viewControllers.count == 1)//关闭主界面的右滑返回
{
return NO;
}
else
{
return YES;
}
}