在iOS8中,我使用splitViewController来显示我的数据。我有导航栏的自定义颜色(浅蓝色),我将标题的颜色设置为白色。我想将displayModeButtonItem中文本的颜色更改为白色,但无论我做什么,它都会在iPhone上显示时保持默认的蓝色。当在iPad上显示时,它是白色的。
我试过了
self.navigationItem.leftBarButtonItem = [self.splitViewController displayModeButtonItem];
self.navigationItem.leftBarButtonItem.tintColor = [UIColor whiteColor];
但这没有任何作用。似乎由于这个按钮是由iOS自动处理的,我所做的一切都无法改变它。有什么地方我可以截取这个按钮并设置它的颜色吗?
答案 0 :(得分:4)
答案 1 :(得分:1)
目标 c
在 SceneDelegate.m 中
- (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions {
UISplitViewController *splitViewController = (UISplitViewController *)self.window.rootViewController;
splitViewController.view.tintColor = [UIColor blackColor];
}
答案 2 :(得分:0)
如果您无法使用接受的答案,因为您在主视图中没有导航控制器(我没有),您可以尝试以下操作:
[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];
如果你把它放在App Delegate中,它会使每个UIBarButtonItem变为白色(包括displayModeButtonItem),但是你可以将它更具体地定位到SplitViewController的displayModeButtonItem。