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) --- 不错