我有以下代码来创建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呈现导航按钮时不可见。但是当我触摸按钮的位置(更新前的位置)时,它会显示按钮,然后单击甚至触发。
我的问题是如何在用户看到视图时将按钮设置为可见?
谢谢。
答案 0 :(得分:0)
尝试使用initWithCustomView初始化UIBarButtonItem
。另外,请尝试将buttonType
的{{1}}设置为UIButton
。
答案 1 :(得分:0)
感谢所有人,
最后发生的事情如下。
上述行为并非我认为的那样。加载新视图时,默认情况下按钮会消失,只有当我将手指移到此处时才会消失。它出现在位置按钮上。此外,当我保持视图静止时,加载后,大约15秒,按钮出现。
所以我怀疑这是“viewDidLoad”方法。 (与此UINavigationBar相关的代码在viewDidLoad方法中。
当我将上面的代码移到“viewDidAppear”方法时,它再次开始工作。