我想在我的 ViewController 加载时隐藏 rightNavigationBarItem。这怎么可能?我已经尝试过这段代码,但它不起作用。
self.navigationItem.rightBarButtonItem = nil;
我想在我的 ViewController 加载时隐藏 rightNavigationBarItem。这怎么可能?我已经尝试过这段代码,但它不起作用。
self.navigationItem.rightBarButtonItem = nil;
在 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];
嗨,它不会隐藏,但会禁用
self.navigationItem.rightBarButtonItem.enabled = NO;
把这个函数放在所有的类中——
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
self.navigationItem.rightBarButtonItem = nil;
} return self;
}
首先,您不应该像文档中清楚说明的那样继承 UITabBarController 。概述中很早就提到了它。
假设其中一个选项卡指向UINavigationController
. 您应该真正直接访问视图控制器并执行类似viewController.navigationItem.rightBarButtonItem = nil;
.
在将控制器插入导航堆栈之前,您应该将 rightBarButtonItem 设置为 nil。
直接隐藏右键不起作用下面是这样做的技巧。
注意:此解决方案仅适用于 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";
我认为最好的方法是通过这个示例行代码:
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:nil style:UIBarButtonItemStylePlain target:nil action:nil];