重写左上返回按钮

-(void)setLeftNavigatorItem

{

    self.navigationItem.hidesBackButton=YES;

    self.navigationItem.leftBarButtonItem=nil;

    UIButton *backBtn=[[UIButtonalloc]initWithFrame:CGRectMake(0,0, 25,44)];

    [backBtn setImage:IMAGE(@"goBack_white.png")forState:(UIControlStateNormal)];

    backBtn.contentEdgeInsets=UIEdgeInsetsMake(0, -5,0, 5);

    [backBtn addTarget:selfaction:@selector(goBack)forControlEvents:(UIControlEventTouchUpInside)];

    UIBarButtonItem *negativeSpacer = [[UIBarButtonItemalloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpacetarget:nilaction:nil];

    negativeSpacer.width = -10;

    UIBarButtonItem *editButton = [[UIBarButtonItemalloc] initWithCustomView:backBtn];

    self.navigationItem.leftBarButtonItems =@[negativeSpacer, editButton];

}

- (void)goBack{

    for (UIViewController *controllerin self.navigationController.viewControllers)

    {

        if ([controllerisKindOfClass:[PayBailControllerclass]])

        {

            PayBailController *vc = (PayBailController*)controller;

            [self.navigationControllerpopToViewController:vc  animated:NO];

        }

    }

}

注意:要遵守UINavigationControllerDelegate协议

猜你喜欢

转载自blog.csdn.net/qq910441958/article/details/75335542