如何隐藏导航栏上的UIbar按钮

时间:2010-03-23 04:55:35

标签: iphone

您已经创建了一个条形按钮,当文本视图的编辑开始时,该按钮显示完成。实际上我需要的是当我按下完成按钮然后textview的可编辑属性将变为false并且完成按钮隐藏。

我完成了第一部分但是如何隐藏栏按钮?

请帮助..

4 个答案:

答案 0 :(得分:5)

@ christo16的解决方案对我来说不太有用,但它引导我做到了这个:

[self.navigationItem.rightBarButtonItem setEnabled:NO];

答案 1 :(得分:3)

你可以禁用它(它会变暗):

//assuming it's the right one
[[[myNavigationBar topItem]rightBarButtonItem]setEnabled: NO];

我想要隐藏它,你实际上必须将它设置为零。然后在需要时重新创建它。

[[myNavigationBar topItem]setRightBarButtonItem:nil animated:NO];

答案 2 :(得分:1)

如果它只是一个UIButton,我会说你可以这样做:

myButton.hidden = YES;

但如果它是UIBarButtonItem,您可以尝试解决方案here。如果有效,请告诉我们!

答案 3 :(得分:0)

将其设置为启用/禁用将不会实现与isHidden相同的功能,因为它仍然可见(只是略微变暗)。如果将条形按钮项目设置为nil,则无法轻松地再次将其重新打开。

相反,您可以通过使用色调颜色来打开/关闭可见性...这是Swift的实现。

切换为关闭状态(模拟isHidden为真):

        self.navigationItem.rightBarButtonItem.tintColor = UIColor.clear
        self.navigationItem.rightBarButtonItem.isEnabled = false

然后继续(模拟isHidden为假):

        self.navigationItem.rightBarButtonItem.tintColor = UIColor.white // or nil
        self.navigationItem.rightBarButtonItem.isEnabled = true