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

posted @ 2016-08-22 09:38  NSJELLY  阅读(931)  评论(0编辑  收藏  举报