我在IB中创建了一个简单的用户界面,其中包含我在右侧拖放的UINavigationBar
和UIBarButtonItem
。
我试图将此按钮设置为隐藏一段时间,但我遇到了一些问题。
到目前为止,我尝试过使用:
self.NavigationItem.rightBarButton = nil;
......这对我不起作用。我也尝试创建和IBOutlet
并将其链接到按钮,但我也遇到了问题。我认为这应该很简单,也许我过于复杂了,但此时我很难过!
有人可以帮帮我吗?
答案 0 :(得分:25)
UINavigationItem
没有rightBarButton
属性。请改为rightBarButtonItem
([self.navigationItem setRightBarButtonItem:nil animated:NO];
):
self.navigationController.navigationItem.rightBarButtonItem = nil;
// Or
self.navigationItem.rightBarButtonItem = nil;
// Or
[self.navigationItem setRightBarButtonItem:nil animated:NO];
答案 1 :(得分:1)
只需重置按钮
即可 -(void)setItems:(NSArray *)items animated:(BOOL)animated
您可以使用items属性获取当前项目,然后删除您不想显示的项目并传入新的NSArray。
答案 2 :(得分:0)
您还可以添加UIButton作为UIBarButtonItem的customView。然后在customView(UIButton)
上设置hidden属性答案 3 :(得分:0)
您可以将其设置为在文本被禁用时清除文本,而不是删除栏按钮项并销毁按钮及其附加的故事板segue。
[self.navigationItem.rightBarButtonItem setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor clearColor]}
forState:UIControlStateDisabled];
然后,当你想要隐藏条形按钮项时,你可以这样做:
self.navigationItem.rightBarButton.enabled = NO;
它没有隐藏属性,但这提供了相同的结果。
答案 4 :(得分:0)
实际上,您可以创建一个对所需UIBarButtonItem的IBOutlet引用,并在需要时执行以下操作:
[self.yourOutletRerence setImage: nil];
答案 5 :(得分:0)
最简单的解决方案:只需将BarButtonItem的标识符更改为自定义。