iOS添加自定义返回按钮后右滑返回失效
关于iOS添加自定义返回按钮:
UIButton *btn =[UIButton buttonWithType:UIButtonTypeCustom]; [btn setTitle:@"返回" forState:UIControlStateNormal]; [btn addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside]; btn.frame=CGRectMake(0, 0, 60, 40); [btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; UIBarButtonItem *item =[[UIBarButtonItem alloc]initWithCustomView:btn]; self.navigationItem.leftBarButtonItem=item;
此时原本的右滑返回就会失效,应该添加一句代码可以使右滑可以正常使用:
self.navigationController.interactivePopGestureRecognizer.delegate=(id)self;
这样的话就需要控制器是有导航栏的,如果该控制器的导航栏隐藏了,或者是被自定义的view代替了,这样返回的时候,导航栏部分就会隐藏,所以建议使用系统的导航栏
具体如果有比较蛋疼的bug 可以参考 : http://www.jianshu.com/p/349636eb3fca