iOS 7 backBarButtonItem 隐藏

Posted

技术标签:

【中文标题】iOS 7 backBarButtonItem 隐藏【英文标题】:iOS 7 backBarButtonItem hidden 【发布时间】:2013-09-23 09:21:57 【问题描述】:

我对返回栏按钮有疑问。不管我喜欢self.navigationItem.hidesBackButton

这是我添加返回按钮的代码:

//
    - (void)viewDidLoad

    [.....];

    UIBarButtonItem *back = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"UI_BTN_BACK", nil) style:UIBarButtonItemStylePlain target:nil action:nil];
    back.tintColor = [Templates getColor:@"color"];
    [[self navigationItem] setBackBarButtonItem:back];

    // Parent
    [super viewDidLoad];

按钮保持隐藏,但如果触摸它应该在的位置,则返回工作正常。 当然它适用于ios6。 另一个细节:当我将 UINavigationBar translucent 设置为 YES 时,似乎会出现后退按钮。

谢谢

【问题讨论】:

哇,不,我不希望它被隐藏!它现在是隐藏的,我不知道为什么。如果我尝试[self.navigationItem setHidesBackButton:NO]; 它仍然隐藏:( 当您调用NSLocalizedString(@"UI_BTN_BACK", nil) 时,NSLog 会输出什么? 输出是“返回”,我的标题没问题;) 色调颜色是否与导航栏的背景颜色相同?尝试在后退按钮上设置 .layer.borderColor 和 .layer.borderWidth ,看看矩形是否有问题。 您是否在正确的视图中设置了backButtonItem?例如,如果你有一个ListView和一个DetailView,那么出现在DetailView中的backButtonItem就必须在ListView中设置。您的代码应该可以工作,但除非将其添加到 ListView(即导航层次结构中的更高级别),否则它不会做任何事情。 【参考方案1】:
[self.navigationItem setHidesBackButton:YES];

看看这个。

【讨论】:

与上述相同的答案:“不,我不希望它被隐藏!它现在被隐藏了,我不知道为什么。如果我尝试[self.navigationItem setHidesBackButton:NO];它仍然隐藏:( "【参考方案2】:
self.navigationController.navigationBar.tintColor = [UIColor whiteColor];

【讨论】:

【参考方案3】:

使用此代码:

self.navigationItem.backBarButtonItem = nil;

self.navigationItem.leftBarButtonItem = nil;

【讨论】:

以上是关于iOS 7 backBarButtonItem 隐藏的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 中将 self.navigationItem.backBarButtonItem 与设备左侧对齐

为啥 iOS 11 中 Navigation backBarButtonItem 的位置出现了三个按钮?

转自定义iOS的Back按钮(backBarButtonItem)和pop交互手势(interactivepopgesturerecognizer) --- 不错

当 backBarButtonItem 有长文本时显示“...”

为啥我的后退按钮在 iOS 7 上不起作用?

弹出视图控制器导致奇怪的 navigationItem / backBarButtonItem 标题交换