我希望导航栏的背景颜色为黑色,导航栏上的文本为白色。
我的模拟器上的一切看起来都很好,如下所示:
但是,当我在带有7.1的实际设备上进行测试时,即使导航栏的背景颜色为橙色,屏幕标题也是黑色。
这就是我在我的应用程序委托中所做的事情:
@window.rootViewController = UINavigationController.alloc.initWithRootViewController(main_controller)
@window.rootViewController.navigationBar.barTintColor = '#DF533B'.to_color
@window.rootViewController.navigationBar.translucent = true
@window.rootViewController.navigationBar.tintColor = UIColor.whiteColor
@window.rootViewController.navigationBar.setTitleTextAttributes({
UITextAttributeTextColor => UIColor.whiteColor
})
我的deployment_target
为7.0
而app.sdk_version
为7.1
我应该将此代码放在所有控制器的viewDidLoad
中吗?
答案 0 :(得分:0)
不熟悉RubyMotion,但您应该使用UIAppearance代理:
[[UINavigationBar appearance] setBarTintColor:[self navBarColor]];
[[UINavigationBar appearance] setTintColor:[self navBarTitleColor]];
[[UINavigationBar appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName : [self navBarTitleColor], NSFontAttributeName : [self titleFont]}];
您应该在AppDelegate中加载主窗口之前执行此操作。
答案 1 :(得分:0)
只是为了添加Moby的答案,这对我来说是正确的,请确保将其添加到您的app委托的didFinishLaunchingWithOptions中。