我的申请中遇到了一些问题。
在我的应用程序中,有可能编辑一些信息(类似iPhone的联系人)。当您按导航栏右侧的“编辑”按钮时,“后退”按钮应隐藏,并显示“取消”按钮。
当用户直接从ViewController按下“编辑”按钮时,它工作得很好。
但是,当用户创建新广告时,具有编辑功能的视图控制器应在编辑模式下打开。我这样称呼它:
VICarInfo * vc = [[VICarInfo alloc] init];
[vc setCurrentAdv:adv];
[self.navigationController pushViewController:vc animated:YES];
if (editMode) {
[self.navigationItem setHidesBackButton:YES animated:NO];
[vc btnEditClick];
}
“后退”按钮没有消失。
我还尝试隐藏ViewWillAppear,ViewDidLoad或ViedDidLayout子视图中的按钮,也不成功。
请给我任何建议,如何做。
谢谢。
答案 0 :(得分:12)
使用此:
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:[[UIView alloc] init]];
答案 1 :(得分:4)
我知道这已经很晚了,但我看到了同样的事情并找到了解决方案。
似乎hidesBackButton = YES会干扰设置leftBarButtonItem。
请勿使用hidesBackButton,否则您将丢失叠加层。
这似乎是一个错误,但Apple自己的文档对这两个/三个属性的交互非常模糊。
答案 2 :(得分:3)
试试这个..
[self.navigationItem setLeftBarButtonItem:nil];
[self.navigationItem setHidesBackButton:YES];
答案 3 :(得分:1)
自iOS 5.0起:
self.navigationItem.leftItemsSupplementBackButton =?;
否 - 拥有leftBarButtonItems会隐藏backButtonItem(默认值), 是 - leftBarButtonItems与backButtonItem共存
然而,似乎仍有一个iOS 7错误,它会不加选择地隐藏(或不隐藏)backButtonItem。
答案 4 :(得分:0)
尝试使用真实设备。在真实设备上显示自定义图像。但不是ios模拟器。如果你在模拟器上进行测试,你会看到ios默认后退按钮。