3

我的应用程序有一些问题。

在我的应用程序中,可以编辑一些信息(比如 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 子视图中隐藏按钮,也未成功。

模拟器

请给我任何建议,如何做到这一点。

谢谢你。

4

5 回答 5

13

用这个 :

    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:[[UIView alloc] init]];
于 2014-01-25T21:50:29.327 回答
4

我知道这已经晚了,但我看到了同样的事情并找到了解决方案。

似乎 hidesBackButton = YES 会干扰设置 leftBarButtonItem(s)。

不要使用 hidesBackButton,你会失去覆盖。

这似乎是一个错误,但苹果自己的文档对这两个/三个属性的交互非常模糊。

于 2013-10-03T12:25:36.860 回答
3

试试这个。。

[self.navigationItem setLeftBarButtonItem:nil];
[self.navigationItem setHidesBackButton:YES];
于 2013-07-19T13:06:42.073 回答
1

从 iOS 5.0 开始:

self.navigationItem.leftItemsSupplementBackButton = ?;

NO - leftBarButtonItems 隐藏 backButtonItem(默认),YES - leftBarButtonItems 与 backButtonItem 共存

然而,似乎仍然存在一个 iOS 7 错误,它不加选择地隐藏(或不隐藏)backButtonItem。

于 2013-12-06T22:31:36.403 回答
0

在真实设备上试用。在真实设备上显示自定义图像。但不是 ios 模拟器。如果您在模拟器上进行测试,您将看到 ios 默认的后退按钮。

于 2014-01-29T15:46:45.887 回答