如何更改后退按钮上的文本

Ily*_*ski 90 iphone cocoa-touch uinavigationitem ios

默认情况下,后退按钮使用视图控件的标题作为文本.我可以在不更改视图控制器标题的情况下更改后退按钮上的文本吗?我需要这个,因为我有一个视图控制器,标题太长,无法显示,在这种情况下,我想只显示"后退"作为后退按钮的标题.

我尝试了以下哪些不起作用:

self.navigationItem.leftBarButtonItem.title = @"Back";
Run Code Online (Sandbox Code Playgroud)

谢谢.

Mar*_*c W 167

尝试

self.navigationItem.backBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil] autorelease];
Run Code Online (Sandbox Code Playgroud)

我发现通过查看Apple的文档中的backBarButtonItem文档来获取UINavigationItem.

  • 请参阅下面的Marco的评论 - 你应该在控制器上调用它,即将推送新的东西,而不是控制器被推送. (29认同)
  • 是的,它奏效了!它是改变标题,是的,保存形状.谢谢你的帮助. (2认同)

Mar*_*rco 97

一旦我找出应用它的控制器,Marc W的方法就很有效:一个被重新命名,而不是顶部的控制器.所以如果这是导航堆栈:

(bottom)  ControllerA -> ControllerB  (top)
Run Code Online (Sandbox Code Playgroud)

...并且当ControllerB位于顶部时,您希望在显示的后退按钮中为ControllerA提供较短的标题,您将属性更改应用于ControllerA.

所以它更多的是在上下文中self.title,而不像其他左/右键按钮设置器.

  • 这是一个非常重要的细节. (13认同)
  • wcochran,它确实与storyboard一起使用,只需确保设置父控制器的后退按钮.因此,如果您有控制器A指向控制器B(通过故事板segue),那么为了在控制器B中自定义Back按钮的文本,您必须在storyboard编辑器中为控制器A设置"Back Button"属性. (4认同)

小智 47

你可以在故事板中完成.找到要返回的视图控制器(具有长标题的视图控制器),选择它的导航项,然后打开属性检查器(Alt + Cmd + 4),插入自定义后退按钮标题.

在此输入图像描述

  • 需要注意的是,后退按钮文本设置在推动下一个控制器的视图上,而不是您当前显示的视图控制器. (7认同)

小智 40

谢谢Marco ...帮助了我......

这就是我做的.

如果您使用tableView导航到不同的视图...放置代码:

self.navigationItem.backBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil] autorelease];
Run Code Online (Sandbox Code Playgroud)

在您的didSelectRowAtIndexPath方法...第一个控制器...控制器A.

导航到控制器B时,按钮的标题为"返回".

  • 另一个重要细节! (2认同)

Ros*_*one 12

后退按钮从父视图控制器的标题中提取其文本.

在父视图控制器(点击后退按钮时显示的视图控制器)中,将其自己的标题设置为后退按钮上的所需文本.

例如,假设我们有一个RootViewController班级.当我们在其表视图中单击一个单元格时,我们将推送一个实例SecondViewController.我们希望SecondViewController实例的后退按钮显示为"Home".

RootViewController.mviewDidLoad方法中:

self.title = @"Home";
Run Code Online (Sandbox Code Playgroud)

SecondViewController.mviewDidLoad方法中:

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];
self.navigationItem.backBarButtonItem = backButton;
[backButton release];    
Run Code Online (Sandbox Code Playgroud)

如果您希望后退按钮读取,"返回",则将父视图控制器的标题设置为@"Back";


Fel*_*ile 10

这项工作对我来说更好.试试:

 self.navigationController.navigationBar.topItem.backBarButtonItem = [[UIBarButtonItem alloc] 
initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];
Run Code Online (Sandbox Code Playgroud)


Ant*_*Dev 9

如果您使用的是故事板:

  1. 打开StoryBoard
  2. 在Document Outline窗口中找到要返回的ViewController
  3. 单击该ViewController的导航项
  4. 在Attributes explorer中,将Back Button值更改为自定义磁贴

就是这样,享受......


Bil*_*llF 5

在MonoTouch中,以下工作(在父控制器的ViewDidLoad中):

NavigationItem.BackBarButtonItem = new UIBarButtonItem( "Back", UIBarButtonItemStyle.Plain, null);
Run Code Online (Sandbox Code Playgroud)