在iOS-7中按需隐藏和显示左侧导航栏按钮

时间:2014-08-01 19:44:36

标签: ios xcode ios7 storyboard uinavigationitem

我使用故事板添加了我的左侧导航栏按钮。但我希望它在我第一次加载屏幕时隐藏。然后在回应别的东西时,我想要它展示。导航栏有一个隐藏后退按钮的方法。但是没有隐藏/显示左键的方法。这样做有一个简单的方法吗?或者我必须使用两种方法:隐藏方法创建一个空按钮,显示方法创建正确的按钮?有问题的按钮只是iOS提供的Add模板(这样可以轻松地使用故事板中的那个而不是创建我自己的模板)。

3 个答案:

答案 0 :(得分:30)

以下是我如何解决它

-(void) hideAndDisableRightNavigationItem
{
    [self.navigationItem.rightBarButtonItem setTintColor:[UIColor clearColor]];
    [self.navigationItem.rightBarButtonItem setEnabled:NO];
}

-(void) showAndEnableRightNavigationItem
{
    [self.navigationItem.rightBarButtonItem setTintColor:[UIColor blackColor]];
    [self.navigationItem.rightBarButtonItem setEnabled:YES];
}

答案 1 :(得分:8)

@learner答案的Swift版本

func hideAndDisableRightNavigationItem (){
  self.navigationItem.rightBarButtonItem?.enabled = false
  self.navigationItem.rightBarButtonItem?.tintColor = UIColor.clearColor()
}

func showAndEnableRightNavigationItem(){
   self.navigationItem.rightBarButtonItem?.enabled = true
   self.navigationItem.rightBarButtonItem?.tintColor = UIColor. blackColor()
}

答案 2 :(得分:-2)

这就是我所做的。在初始屏幕上,我想隐藏导航栏:

 self.navigationController.navigationBarHidden = YES;

在第二个屏幕上,我想显示导航栏,所以我设置了:

 self.navigationController.navigationBarHidden = NO;