删除iOS7中的后退箭头

dai*_*dai 18 uinavigationcontroller ios ios7

在此输入图像描述

我想要合并一个自定义后退按钮 - 我能够使用上面的结果

self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"back-btn"] style:UIBarButtonItemStylePlain target:nil action:nil];
Run Code Online (Sandbox Code Playgroud)

但是如何删除原生蓝色按钮?

man*_*jmv 13

使用以下代码隐藏后退箭头:

self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"back-btn"]
                                                                         style:UIBarButtonItemStylePlain
                                                                        target:nil
                                                                        action:nil];

if ([UINavigationBar instancesRespondToSelector:@selector(setBackIndicatorImage:)]) {
    [[UINavigationBar appearance] setBackIndicatorImage:[[UIImage alloc] init]];
    [[UINavigationBar appearance] setBackIndicatorTransitionMaskImage:[[UIImage alloc] init]];
}
Run Code Online (Sandbox Code Playgroud)


Cod*_*der 10

在iOS7 +中,您可以使用navigationBar backIndicatorImagebackIndicatorTransitionMaskImage获得所需的自定义箭头.下面的Swift代码:

self.navigationController?.navigationBar.backIndicatorImage = UIImage(named:"button-backArrow18x15")
self.navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named:"button-backArrowMask18x15")
Run Code Online (Sandbox Code Playgroud)

如果要隐藏"后退"文本,可以将title上一个视图设置为单个空格""或使用UIBarButtonItem没有标题的自定义.


dai*_*dai 3

感谢所有回答者 - 找到了一种更简单的方法......

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"back-btn"] style:UIBarButtonItemStylePlain target:self action:@selector(backButtonAction:)];
self.navigationItem.leftBarButtonItem.tintColor = [UIColor whiteColor];

[self.navigationItem setHidesBackButton:YES animated:NO];
[self.navigationItem setBackBarButtonItem:nil];

-(void) backButtonAction:(id)sender
{
    [self.navigationController popViewControllerAnimated:YES];
}
Run Code Online (Sandbox Code Playgroud)

  • 值得注意的是,使用此方法您将失去弹出滑动手势 (6认同)