How do i remove text from back button on navbar within Xcode?

后端 未结 8 1792
醉酒成梦
醉酒成梦 2021-02-09 05:49

I set an arrow custom image to navigation bar by adding the following code in app delegate, it works but now im looking to remove the text completely for back button.

         


        
8条回答
  •  别跟我提以往
    2021-02-09 06:02

    To set a backbutton text, you set a new backbutton to the current viewController before pushing or presenting then new one which would show the text of the backbutton:

    In your current viewController (not the new one which will show the back-button):

    vc                                    = [[MyNewViewController alloc]initWith...];
    vc.title                              = @"New ViewController";
    self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];
    [self.navigationController pushViewController:vc animated:YES];
    

    So if you want to remove the text, just use @"" as a title for the new backbutton.

    To set a backbutton-icon for the entire app, use the following code in your appDelegate class. Not every icon fits perfectly, so if you have to move it around a little, you can use the "backInsets". In my example the icon will move 2px down.

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        ...
        ...
        [self customBackButtonIcon];
        return YES;
    }
    
    - (void)customBackButtonIcon
    {        
        UIEdgeInsets backInsets = UIEdgeInsetsMake(0, 0, -2, 0);
        UIImage *backImg = [[[UIImage imageNamed:@"back_button_white"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] imageWithAlignmentRectInsets:backInsets];
        [[UINavigationBar appearance] setBackIndicatorImage:backImg];
        [[UINavigationBar appearance] setBackIndicatorTransitionMaskImage:backImg];
    }
    

    Tested with iOS9

提交回复
热议问题