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

lea*_*ner 8 xcode storyboard uinavigationitem ios ios7

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

lea*_*ner 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];
}
Run Code Online (Sandbox Code Playgroud)


LHI*_*OUI 8

Swift版的@learner回答

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()
}
Run Code Online (Sandbox Code Playgroud)