NavigationBar BackButton的文本,如果NavigationBar的标题太长

NavigationBar BackButton的文本,如果NavigationBar的标题太长

问题描述:

我有一个自定义文本作为后退按钮,但自iOS7它会自动缩短为默认的“返回”文本,甚至删除。有什么方法可以将默认“返回”文本更改为其他内容吗?我宁愿删除它,而不是用“返回”文本替换它。NavigationBar BackButton的文本,如果NavigationBar的标题太长

做这个

self.navigationController.navigationBar.topItem.title = @"YourTitle"; 
+0

后退按钮仍然会得到缩短/这样的去除。以及我可能有segmentedControl或导航栏中的其他东西;) – Artrmz

您可以在视图控制器的viewDidLoad方法要导航回到设置自定义后退按钮:

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"CustomTitle" style:UIBarButtonItemStylePlain target:nil action:nil]; 
self.navigationItem.backBarButtonItem = backButton; 
+0

如果导航栏的标题太长而且不适合那么它不会缩短/删除吗? – Artrmz

+0

是的。您问是否可以自定义标题,以便显示其他内容而不是默认的“返回”。设置自定义后退按钮可以让你做到这一点。即如果标题长度对于特定的视图控制器来说太长,那么你总是可以设置一个空字符串。 –

是的,你可以这样做。例如,在viewDidLoad()

在SWIFT:

self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "Custom Title", style: .Plain, target: nil, action: nil) 

在Objective-C:

self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle: "CustomTitle" style: UIBarButtonSystemItem target: nil action: nil]; 

您还可以设置标题为 “” 如果你要删除的标题,并只显示<符号。

重要:您必须在控制器中执行此操作,其中从开始。

例如,如果SEGUE去从ViewController1ViewController2,你会写以前的代码在viewDidLoad()实施ViewController1