[英]Change the title of backbutton in NavigationBar
按照这个问题的许多重复的例子,我似乎无法做到正确。
我有一个UINavigationViewController,它有一个LoginViewController作为rootViewController。 在这里,我得到一个带有segue(push)的按钮到LoginInfoViewController。
在LoginInfoViewController.m中:
- (void)viewDidLoad
{
[super viewDidLoad];
//null
NSLog(@"%@", self.navigationItem.backBarButtonItem);
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Test"
style:UIBarButtonItemStyleDone
target:nil
action:nil];
self.navigationItem.backBarButtonItem = backButton;
//not null, still the back button says: "Back"
NSLog(@"%@", self.navigationItem.backBarButtonItem);
}
在BEFORE上设置后视图的标题。 因此,如果您从LoginViewController
,则在切换到LoginInfoViewController
之前在项目上设置后退按钮标题
例:
在LoginViewController
上的viewDidLoad
方法中:
UIBarButtonItem *newBackButton = [[UIBarButtonItem alloc] initWithTitle: @"Go back" style: UIBarButtonItemStyleBordered target: nil action: nil];
[[self navigationItem] setBackBarButtonItem: newBackButton];
这意味着您要在LoginViewController
上设置按钮,而不是在LoginInfoViewController
上设置按钮。
您需要设置要返回的控制器的backBarButtonItem
,而不是您推送的控制器。 将代码移动到LoginViewController
viewDidLoad方法。
导航控制器从backBarButtonItem
中前一个控制器的backBarButtonItem
派生导航栏的后退按钮。 如果该项为nil,则它将使用title属性中的值。 如果标题太长而不适合,导航栏可以替换字符串“Back”代替标题。 如果您的控制器有一个自定义左栏按钮项,导航栏将忽略backButtonItem
属性和标题,而是显示自定义按钮。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.