iOS7 后系统自带手势侧滑功能
由于自定义leftBarButtonItem 导致 无法侧滑
解决办法
1、(不建议使用)
UIImage *backButtonImage = [[UIImage imageNamed:@"back.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, backButtonImage.size.height*2) forBarMetrics:UIBarMetricsDefault];
2、在pushViewController后添加方法
[self.navigationController pushViewController:viewController animated:YES];
//开启iOS7的滑动返回效果
if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
self.navigationController.interactivePopGestureRecognizer.delegate = nil;
}
3.把UINavigationController封装一个类(推荐)
- (void)viewDidLoad {
[super viewDidLoad];
// [self setNavigationBarHidden:YES];
self.delegate = self;
self.interactivePopGestureRecognizer.delegate = nil;
}
//解决某些情况push会卡死的情况
- (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
BOOL isRootVC = viewController == navigationController.viewControllers.firstObject;
navigationController.interactivePopGestureRecognizer.enabled = !isRootVC;
}