我想在视图控制器加载时隐藏rightNavigationBarItem。这可能吗?我尝试了这段代码,但它没有起作用。
self.navigationItem.rightBarButtonItem = nil;
self.navigationItem.rightBarButtonItem = nil;
self.navigationItem.leftBarButtonItem.enabled=NO;
self.navigationItem.leftBarButtonItem=nil;
self.navigationController.navigationBar.backItem.hidesBackButton=YES;
[self.navigationItem.leftBarButtonItem release];
self.title =@"";
清空屏幕标题。当导航控制器推送详细视图到堆栈上时,不会创建返回按钮。leftBarButtonItem
为其他内容可以更改按钮,但无法解决您的问题。[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;
}
UINavigationController
。你应该直接访问视图控制器,并执行类似于viewController.navigationItem.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";
在将您的控制器插入导航栈之前,您应该将 rightBarButtonItem 设置为 nil。
我认为最好的方法是使用这行示例代码:
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:nil style:UIBarButtonItemStylePlain target:nil action:nil];
rightBarButtonItem
?很可能它又被添加了,而此时视图已经显示出来了。 - Deepak DanduproluUITabBarController
还是UITabBar
?并且你是否将TabBarController
放在UINavigationController
中? - Deepak Danduprolu