如何使用NavigationController隐藏iOS7上的后退按钮标题

时间:2014-01-22 09:45:04

标签: ios7 navigationcontroller

我有一个基于NavigationController的iOS7应用程序,在此我要隐藏与雪佛龙一起显示的后退按钮文本。有没有办法解决这个问题?我尝试将空字符串设置为后退按钮标题,在前一个视图上尝试空标题,如果它找到空标题,它将替换为“返回”文本。

请帮忙

由于

5 个答案:

答案 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中的

。请注意,呈现未显示。

来自Removing the title text of an iOS UIBarButtonItem

相关问题