Nic*_*ick 10 uinavigationbar ios uiappearance uiactivityviewcontroller
我在appDelegate中使用以下代码在我的应用程序中设置我的UINavigationBar和状态栏的外观:
[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];
[[UINavigationBar appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName: [UIColor whiteColor]}];
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
Run Code Online (Sandbox Code Playgroud)
此代码正确地将所有内容的外观设置为白色,除非阻止第三方模式viewController,例如来自Dropbox API或来自UIActivityViewController的Mail/Message viewController.我已经包含了一些屏幕截图来展示它们的外观.
UIActivityViewController邮件:

UIActivityViewController消息:

Dropbox API:

我试过把它放进去
[[UINavigationBar appearanceWhenContainedIn:[MFMailComposeViewController class], nil] setTitleTextAttributes:@{NSForegroundColorAttributeName: [UIColor whiteColor]}];
Run Code Online (Sandbox Code Playgroud)
以及
[[UINavigationBar appearanceWhenContainedIn:[UIActivityViewController class], nil] setTintColor:[UIColor whiteColor]];
Run Code Online (Sandbox Code Playgroud)
而且没有人在工作.
由于到目前为止还没有解决方案,我执行了以下操作将 UIActivityViewController 模式的导航栏颜色设置为白色(因为我的应用程序的导航栏颜色是蓝色),以便用户至少可以看到按钮:
[[UINavigationBar appearance] setBarTintColor:[UIColor whiteColor]];
Run Code Online (Sandbox Code Playgroud)
当用户完成 UIActivityViewController 模式后,应用程序的主导航栏颜色将返回蓝色。
希望有人能发布更好的解决方案。
| 归档时间: |
|
| 查看次数: |
3425 次 |
| 最近记录: |