UINavigationController后退按钮标题总是显示“后退”

时间:2014-07-03 12:25:33

标签: ios uinavigationcontroller back uinavigationitem

我正在开发一个IOS应用程序。我正在使用导航控制器。如果我推到下一页,那么后退按钮标题在IOS 7中没有显示上一页标题。后退按钮标题总是"返回"在IOS 7中,我将所有页面标题设置为viewWillAppearviewDidload,如下所示。但它没有用。

self.navigationItem.title=@"Previous Page Title";
self.title  = @"Previous Page Title";

我可以在IOS 7中使用上一页标题设置按钮标题

感谢名单

4 个答案:

答案 0 :(得分:6)

如果标题很大,则后退按钮仅显示后退。尝试使用短标题,例如

self.title = @"Test";

如果您想要长标题,请转到自定义后退按钮。

答案 1 :(得分:0)

在iOS 7中,后退按钮的长度受到限制(我认为是11个字符)。您可以设置自定义"后退按钮标题"像这样,例如在具有长标题的视图控制器中的viewDidAppear(不是当前视图控制器!):

self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back Title"
                                                                         style:UIBarButtonItemStylePlain                                                                               
                                                                        target:nil
                                                                        action:nil];

答案 2 :(得分:0)

试试这段代码:

[[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];
}

答案 3 :(得分:0)

如果您想强制始终拥有后退按钮,但仍然让系统为您创建它(将处理“后退”本地化,如果当前标题非常长,则将按钮缩写为单个“<”等),然后只使用一个荒谬的长按钮标题:

self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"                                                                                               really long never shown title"
                                                                         style:UIBarButtonItemStylePlain                                                                               
                                                                        target:nil
                                                                        action:nil];