在我的AppDelegate中,我有以下代码:
UIViewController *viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
UINavigationController *itemsNavigationController1 = [[UINavigationController alloc] initWithRootViewController:viewController1];
Run Code Online (Sandbox Code Playgroud)
如何将UIVNagigationBar的背景颜色设置为绿色?
如果我做:
[self.navigationController.navigationBar setTintColor:[UIColor greenColor]];
Run Code Online (Sandbox Code Playgroud)
从viewController1,这没有任何效果.
提前致谢!
更新:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
self.title = NSLocalizedString(@"MyTitle", @"");
[self.navigationController.navigationBar setTintColor:[UIColor greenColor]];
[self.parentViewController.navigationController.navigationBar setTintColor:[UIColor greenColor]];
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
两者都没有效果
在该initWithNibName:bundle方法中,您的视图控制器还不能具有导航控制器.
如果您的导航控制器也是从nib文件创建的,请尝试实现awakeFromNibUIViewController 的方法并在那里设置颜色.awakeFromNib在加载并初始化nib文件上的每个对象后调用.
如果以编程方式创建导航控制器,则只应在将视图控制器(从笔尖加载)添加到导航控制器后设置颜色.您可以在添加视图控制器的位置执行此操作.或尝试实施viewDidLoad或viewWillAppear方法UIViewController来设置颜色.
| 归档时间: |
|
| 查看次数: |
1083 次 |
| 最近记录: |