2011-10-21 42 views
9

我在IB中创建了一个简单的用户界面,这包括我在右侧拖放的UINavigationBarUIBarButtonItem如何隐藏UIBarButtonItem?

我试图设置这个按钮被隐藏一段时间,但我有一些问题。

到目前为止,我已经尝试使用:

self.NavigationItem.rightBarButton = nil; 

...这并没有为我工作。我也尝试创建和IBOutlet并将其链接到按钮,但我也有这个问题。我认为它应该很简单,也许我太过复杂了,但在这一点上,我很难过!

请有人可以帮我吗?

+0

确保您的NavigationItem出口已设置。 – logancautrell

回答

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]; 
0

你也可以添加一个UIButton作为UIBarButtonItem的customView。然后在customView(UIButton)上设置隐藏属性

0

而不是删除栏按钮项并销毁该按钮并将其添加到storyboard segue中,您可以将其设置为在禁用时清除文本。

[self.navigationItem.rightBarButtonItem setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor clearColor]} 
                 forState:UIControlStateDisabled]; 

然后,当过你想要的栏按钮隐藏的项目,你可以做:

self.navigationItem.rightBarButton.enabled = NO; 

它是瘸子有没有隐藏属性,但是这提供了相同的结果。

0

其实,你可以创建一个IBOutlet参考所需的UIBarButtonItem,并在需要的时候只是做如下:

[self.yourOutletRerence setImage: nil]; 
0

最简单的办法:只要改变BarButtonItem的标识来定制。