我使用xcode7在iOS9.0的导航栏上实现了两个右栏按钮项,我想在指定条件下隐藏/显示一个右栏按钮。我正在使用以下代码。请帮助我
UIBarButtonItem *selectButton= [[UIBarButtonItem alloc]initWithTitle:@"Select" style:UIBarButtonItemStylePlain target:self action:@selector(clickOnSelect:)];
UIBarButtonItem *shareButton = [[UIBarButtonItem alloc]initWithTitle:@"Share" style:UIBarButtonItemStylePlain target:self action:@selector(clickOnShare:)];
self.navigationItem.rightBarButtonItems = @[selectButton,shareButton];
-(void)clickOnSelect:(id)sender{
NSLog(@"self.navigationItem.rightBarButtonItems :%@",self.navigationItem.rightBarButtonItems);
UIBarButtonItem *shareButton = (UIBarButtonItem *) [self.navigationItem.rightBarButtonItems objectAtIndex:1];
shareButton.customView.hidden = YES; // its not working
}
最佳答案
试试这个:
-(void) changeBarButtonVisibility:(UIBarButtonItem*) barButtonItem visibility:(BOOL) shouldShow {
UIColor *tintColor = shouldShow == NO ? [UIColor clearColor] : nil;
[barButtonItem setEnabled:shouldShow];
[barButtonItem setTintColor:tintColor];
}
然后调用上面的方法,传入你要隐藏的bar button
[self changeBarButtonVisibility:self.navigationItem.rightBarButtonItems[0] visibility:NO];
[self changeBarButtonVisibility:self.navigationItem.rightBarButtonItems[1] visibility:YES];
关于ios - 隐藏/显示导航栏中两个右侧栏按钮之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33408305/