是否可以在推送视图控制器时阻止UINavigationController更改backBarButtonItem?我在后面的按钮位置设置了自定义图像,我希望将其保留在那里。 (我正在制作申请抽屉/汉堡菜单)
我已尝试使用以下代码,但它不会将其更改回来
UIBarButtonItem *barButtonItem = [[centerViewController navigationItem] backBarButtonItem];
[navigationController pushViewController:leftViewController animated:false completion:^{
[[centerViewController navigationItem] setBackBarButtonItem:barButtonItem];
}
答案 0 :(得分:2)
假设您正在从View1推送View2然后在视图上执行View1的加载方法设置这样的自定义后退按钮
UIBarButtonItem *backButton = [[UIBarButtonItem alloc]
initWithImage: [UIImage imageNamed:@"yourImage.png"]
style: UIBarButtonItemStyleBordered
target: nil action: nil];
[self.navigationItem setBackBarButtonItem: backButton];
答案 1 :(得分:0)
在推送新控制器之前设置backBarButtonItem。
示例显示在新推送的ViewController中没有文本的backBarButton的backarrow:
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@""
style:UIBarButtonItemStylePlain
target:nil
action:nil];
[self.navigationController pushViewController:newVC animated:YES];