[英]iOS Back button title is not changing
我在UINavigationController
“返回”按钮有问题
我有一个根视图控制器,其实现方式如下:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"NEW BACK" style:UIBarButtonItemStylePlain target:nil action:nil];
}
尽管有此代码,但后退按钮标题仍是我的根视图控制器的标题,而不是“ NEW BACK”
有人看到问题出在哪里吗?
隐藏默认的后退按钮,然后以编程方式添加按钮。 将代码添加到您的viewDidLoad中。
self.navigationItem.hidesBackButton = YES;
UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom];
[backButton setBackgroundImage:[UIImage imageNamed:@"arrowleft.png"] forState:UIControlStateNormal];
[backButton addTarget:self action:@selector(btnBackTapped:) forControlEvents:UIControlEventTouchUpInside];
backButton.frame = CGRectMake(0.0f, 0.0f, 25.0f, 20.0f);
UIBarButtonItem *backButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
self.navigationItem.leftBarButtonItem = backButtonItem;
加
btnBackTapped
同一类中任何地方的方法
-(void)btnBackTapped:(id)sender
{
[self.navigationController popViewControllerAnimated:YES];
}
而不是这样做
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"NEW BACK" style:UIBarButtonItemStylePlain target:nil action:nil];
在RootViewController
,在子视图控制器中执行此操作意味着您要推送的控制器。
如果设置了导航控制器的后退按钮,则它将被应用到所有其他viewController中,尽管viewController具有自己的后退按钮配置。 尝试重置您的navigationController中的后退按钮。 希望您的代码能正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.