iOS 7.1更新默认隐藏导航栏左侧按钮

时间:2014-04-01 06:00:58

标签: ios button uinavigationbar visible

我有以下代码来创建UINavigationBar并在右侧设置带有后退按钮的导航项。

 UINavigationBar *navBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 60)];
navBar.delegate = self;
UIBarButtonItem *back = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleDone target:self action:@selector(backButtonTapped)];

UINavigationItem *backItem = [[UINavigationItem alloc] init];
[backItem setTitle:@"What's New"];
[backItem setLeftBarButtonItem:back];
backItem.leftBarButtonItem.enabled = YES;
[navBar pushNavigationItem:backItem animated:NO];

[self.view addSubview:navBar];

这很有效,直到我最近将xCode 5更新为iOS 7.1更新。

但是现在当UIView呈现导航按钮时不可见。但是当我触摸按钮的位置(更新前的位置)时,它会显示按钮,然后单击甚至触发。

我的问题是如何在用户看到视图时将按钮设置为可见?

谢谢。

2 个答案:

答案 0 :(得分:0)

尝试使用initWithCustomView初始化UIBarButtonItem。另外,请尝试将buttonType的{​​{1}}设置为UIButton

答案 1 :(得分:0)

感谢所有人,

最后发生的事情如下。

上述行为并非我认为的那样。加载新视图时,默认情况下按钮会消失,只有当我将手指移到此处时才会消失。它出现在位置按钮上。此外,当我保持视图静止时,加载后,大约15秒,按钮出现。

所以我怀疑这是“viewDidLoad”方法。 (与此UINavigationBar相关的代码在viewDidLoad方法中。

当我将上面的代码移到“viewDidAppear”方法时,它再次开始工作。