如何隐藏UInavigationBar右栏按钮项?

Vig*_*abu 6 iphone uinavigationbar uibarbuttonitem

我使用以下代码将信息按钮添加到导航栏:

UIButton *infoButton = [UIButton buttonWithType:UIButtonTypeInfoLight];
    [infoButton addTarget:self action:@selector(showImage:) 
         forControlEvents:UIControlEventTouchUpInside]; 
    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:infoButton];
Run Code Online (Sandbox Code Playgroud)

现在我想根据某些条件在代码的某些部分隐藏此按钮.但是我没有在导航栏中找到右侧栏按钮项的任何隐藏属性?

Jha*_*iya 15

要隐藏,请尝试在下面指定 nil您的rightBarButtonItem喜欢.

self.navigationItem.rightBarButtonItem = nil ;
Run Code Online (Sandbox Code Playgroud)

  • 如果您以后需要使用它,可以将其保存为ivar. (2认同)

Dee*_*olu 10

最佳选择是用于buttonItem.enabled = NO指示此时功能不可用.在大多数情况下,这应该是正确的行为.

但是,如果您打算让它消失,最好的方法是存储对条形按钮的引用.如果希望它消失,请将rightBarButtonItem设置为nil,并在需要显示时将其设置为存储的引用.