【问题标题】:UINavigationController Back button title always show "Back"UINavigationController 后退按钮标题总是显示“后退”
【发布时间】:2014-07-03 12:25:32
【问题描述】:
我正在开发一个IOS 应用程序。我正在使用导航控制器。如果我推到下一页,则返回按钮标题不会在 IOS 7 中显示上一页标题。返回按钮标题在 IOS 7 中始终为“返回”。我在viewWillAppear、viewDidload 中设置了所有页面标题,如下所示。但它不起作用。
self.navigationItem.title=@"Previous Page Title";
self.title = @"Previous Page Title";
在IOS 7中我可以用上一页标题设置后退按钮标题
感谢
【问题讨论】:
标签:
ios
uinavigationcontroller
back
uinavigationitem
【解决方案1】:
如果标题很大,返回按钮只显示返回。试试短标题,比如
self.title = @"Test";
如果您想要长标题,请使用自定义后退按钮。
【解决方案2】:
在 iOS 7 中,后退按钮的长度受到限制(我认为是 11 个字符)。您可以像这样设置自定义“后退按钮标题”,例如在具有长标题的视图控制器中的viewDidAppear(不是当前视图控制器!):
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back Title"
style:UIBarButtonItemStylePlain
target:nil
action:nil];
【解决方案3】:
如果你想强制总是有返回按钮,但仍然让系统为你创建它(将处理“返回”本地化,如果当前标题真的很长,则将按钮缩写为单个“
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@" really long never shown title"
style:UIBarButtonItemStylePlain
target:nil
action:nil];
【解决方案4】:
试试这个代码:
[[UIBarButtonItem alloc] initWithTitle:@"Your Title Here"
style:UIBarButtonItemStylePlain
target:nil action:nil];
或者您可以像这样为按钮设置图像:
UIBarButtonItem *barBtn = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"arrow.png"] style:UIBarButtonItemStylePlain target:self action:@selector(back:)];
self.navigationItem.leftBarButtonItem = barBtn;
还有@selector方法:
-(void)back:(id)sender{
[self.navigationController popViewControllerAnimated:YES];
}