我有一个基于NavigationController的iOS7应用程序,在此我要隐藏与雪佛龙一起显示的后退按钮文本。有没有办法解决这个问题?我尝试将空字符串设置为后退按钮标题,在前一个视图上尝试空标题,如果它找到空标题,它将替换为“返回”文本。
请帮忙
由于
答案 0 :(得分:11)
最后最终解决了如下问题,这个问题很完美。
self.navigationController.navigationBar.topItem.title = @"";
来自此链接Removing the title text of an iOS UIBarButtonItem
但是如果你从上一个视图导航到下一个视图,你可以看到当我在上一个视图的viewWillDisappear的viewDidDisappear中放入上述解决方案时,前一个视图导航栏的标题消失了,这在故事板中不是一个优雅的解决方案基于UINavigationController方案,在另一种情况下,我最终决定使用一个条形按钮并按照原生后退按钮V形图标设置其图像,这样可以获得更好的效果。
答案 1 :(得分:9)
@vishal提出的答案有一个严重的缺点:如果你从A导航回B,它会从控制器A中删除标题。
这是在推动控制器B之前应用于控制器A的更安全的解决方案:
self.navigationController.navigationBar.topItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];
对于swift:
if let topItem = controller.navigationController?.navigationBar.topItem {
topItem.backBarButtonItem = UIBarButtonItem(title: "", style: UIBarButtonItemStyle.Plain, target: nil, action: nil)
}
答案 2 :(得分:3)
如果您想在所有应用中隐藏按钮标题,请将其放入App Delegate:
@implementation UINavigationItem (myCustomization)
-(UIBarButtonItem *)backBarButtonItem
{
return [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStyleBordered target:nil action:nil];
}
@end
在iOS 7上测试
答案 3 :(得分:1)
要隐藏导航控制器的后退按钮,请尝试以下选项:
[self.navigationItem setHidesBackButton:YES animated:YES];
[self.navigationItem setBackBarButtonItem:nil];
[self.navigationItem setLeftBarButtonItem:nil animated:NO];
它可以帮到你。
快乐的编码......:)
答案 4 :(得分:0)
最简单的解决方案是使用
删除后退按钮标题navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .Plain, target: nil, action: nil)
显示视图控制器上的viewWillAppear
中的。请注意,呈现未显示。