我希望在我的ViewController加载时隐藏rightNavigationBarItem。这怎么可能?我已经尝试过这段代码,但它没有用。
self.navigationItem.rightBarButtonItem = nil;
答案 0 :(得分:6)
在Xcode中4.使用它们不起作用;
self.navigationItem.leftBarButtonItem.enabled=NO;
self.navigationItem.leftBarButtonItem=nil;
self.navigationController.navigationBar.backItem.hidesBackButton=YES;
[self.navigationItem.leftBarButtonItem release];
我真的很感兴趣为什么你提到rightBarButtonItem?导航时,其leftBarButtonItem会发生变化。
有什么用;
1)self.title =@"";
将屏幕标题置零,当导航控制器将详细视图推入堆栈时,不会创建后退按钮。
2)用其他东西替换leftBarButtonItem
会更改按钮,但不能解决您的问题。
3)另一种选择。隐藏导航栏; [self.navigationController setNavigationBarHidden:YES animated:YES];
答案 1 :(得分:5)
嗨,它不会隐藏但是禁用
self.navigationItem.rightBarButtonItem.enabled = NO;
答案 2 :(得分:2)
将此功能放在所有类中 -
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
self.navigationItem.rightBarButtonItem = nil;
} return self;
}
答案 3 :(得分:2)
首先,你不应该在documentation中清楚地说明UITabBarController的子类。它在概述中很早就提到过。
假设其中一个标签指向UINavigationController
。您应该直接访问视图控制器并执行viewController.navigationItem.rightBarButtonItem = nil;
之类的操作。
答案 4 :(得分:1)
在将控制器插入导航堆栈之前,应将rightBarButtonItem设置为nil。
答案 5 :(得分:1)
直接隐藏右键不起作用 下面是这样做的技巧。
注意:此解决方案仅适用于iOS 7.x.
//To Hide
self.navigationItem.rightBarButtonItem.enabled = NO;
self.navigationItem.rightBarButtonItem.title = @"";
//To Show
self.navigationItem.rightBarButtonItem.enabled = YES;
self.navigationItem.rightBarButtonItem.title = @"DONE";
答案 6 :(得分:0)
我认为最好的方法是通过以下示例代码:
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:nil style:UIBarButtonItemStylePlain target:nil action:nil];