在视图中我想更改它,因为我有以下代码,但它失败了。
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
//Logout button
UIBarButtonItem * logout = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(goBack)];
logout.title = @"Logout";
nav_delegate.navigationController.navigationItem.leftBarButtonItem = logout;
[logout release];
}
感谢您的帮助。
答案 0 :(得分:3)
实现backBarButtonItem用于使用pushViewController的超级视图控制器:subViewController。
例如,如果您已为其超级视图控制器Logout推送视图控制器:
[self.navigationController pushViewController:subViewController animated:YES];
然后,您应该在超级视图中实现backBarButtonItem,这是Logout视图, NOT in the push subViewController 。
因此,要实现backBarButtonItem,可以在超级视图Logout中执行,例如:
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:logoutViewTitle style:UIBarButtonItemStyleBordered target:nil action:nil];
你可以在 - (void)viewDidLoad中进行静态使用,或者在 - (void)viewWillAppear:(BOOL)动画用于动态使用,用于设置标题而不分配和初始化。
还有一个提示:在界面构建器中,有backBarButtonItem标题的输入字段。但是如果你没有输入,你必须在.m文件中分配和初始化带有标题的backBarButton,就像上面的代码一样。如果你输入了静态使用的标题,我相信你可以通过使用:
来改变它[self.navigationItem.backBarButtonItem setTitle:logoutViewTitle];
希望它有所帮助。
答案 1 :(得分:1)
在上一个视图控制器上设置backBarButtonItem
(按后退按钮时将返回的控制器)。
答案 2 :(得分:1)
这是答案。在视图控制器中:
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"X";
//Logout button
UIBarButtonItem * logout = [[UIBarButtonItem alloc] initWithTitle:@"Logout" style: UIBarButtonItemStylePlain target:self action:@selector(goBack)];
self.navigationItem.leftBarButtonItem = logout;
[logout release];
}