我正在使用下面的代码在我的appDelegate中设置UINavigationBar和状态栏的外观:
[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];
[[UINavigationBar appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName: [UIColor whiteColor]}];
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
这段代码可以将所有东西的外观设置为白色,除非有第三方模态viewController被阻止,比如来自Dropbox API或UIActivityViewController的Mail/Message viewController。 我包含了一些截图以展示它们的外观。
UIActivityViewController Mail:
UIActivityViewController Message:
Dropbox API:
我尝试将这段代码加入其中。
[[UINavigationBar appearanceWhenContainedIn:[MFMailComposeViewController class], nil] setTitleTextAttributes:@{NSForegroundColorAttributeName: [UIColor whiteColor]}];
以及
[[UINavigationBar appearanceWhenContainedIn:[UIActivityViewController class], nil] setTintColor:[UIColor whiteColor]];
而且两个都不起作用。