創(chuàng)建一個(gè)UINavigationController類
然后自定義返回按鈕
和手勢(shì)
- (void)viewDidLoad {
? ?[super viewDidLoad];
? ?// Do any additional setup after loading the view.
? ?//手勢(shì)設(shè)置
? ?self.interactivePopGestureRecognizer.delegate =self;
? ?//設(shè)置導(dǎo)航背景圖片
? ?[self.navigationBar setBackgroundImage:[UIImage imageNamed:@"navigationbarBackgroundWhite"] forBarMetrics:UIBarMetricsDefault];
}
-(void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated
{
? ?if (self.childViewControllers.count>0)
? ?{
? ? ? ?UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom];
? ? ? ?[backButton setImage:[UIImage imageNamed:@"個(gè)人設(shè)置--返回@2x"] forState:UIControlStateNormal];
// ? ? ? ?[backButton setImage:[UIImage imageNamed:@"navigationButtonReturnClick"] forState:UIControlStateHighlighted];
// ? ? ? ?[backButton setTitle:@"返回" forState:UIControlStateNormal];
// ? ? ? ?[backButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
// ? ? ? ?[backButton setTitleColor:[UIColor redColor] forState:UIControlStateHighlighted];
? ? ? ?[backButton sizeToFit];
? ? ? ?backButton.contentEdgeInsets = UIEdgeInsetsMake(0, -20, 0, 0);
? ? ? ?[backButton addTarget:self action:@selector(backClick) forControlEvents:UIControlEventTouchUpInside];
? ? ? ?viewController.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
? ? ? ?//隱藏底部TabBar
? ? ? ?viewController.hidesBottomBarWhenPushed = YES;
? ?}
? ?[super pushViewController:viewController animated:animated];
}
- (void)backClick
{
[self popViewControllerAnimated:YES];
}
-(BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
{
? ?//這是控制bgu的 判斷
// ? ?if (self.childViewControllers.count == 1)
// ? ?{
// ? ? ? ?return NO;
// ? ?}
// ? ?return YES;
? ?//手勢(shì)何時(shí)有效 ?當(dāng)導(dǎo)航控制器的子控制器個(gè)數(shù) > 1 時(shí) 有效
? ?return self.childViewControllers.count > 1;
}
? ?