从UIActivityViewController中选择时,MessageComposer的NavigationBar和BarButtonItem颜色更改

Bha*_*ath 5 ios uiactivityviewcontroller swift3

我正在使用UIActivityViewController共享文本,并且从列出的选项中选择"消息"时,我的屏幕显示如下, 在此输入图像描述

但是在右侧栏按钮上有一个取消按钮,它是我在AppDelegate中指定的白色.
这里的问题是我无法更新NavigationBar颜色.

我试过如下,没有一个是有用的,

let activityVC = UIActivityViewController(activityItems: contents, applicationActivities: nil)
    present(activityVC, animated: true) {
        activityVC.navigationController?.navigationBar.backgroundColor = UIColor.green
        activityVC.navigationController?.navigationBar.tintColor = UIColor.red
        MYAppDelegate.customise()
    }
Run Code Online (Sandbox Code Playgroud)

要么

let activityVC = UIActivityViewController(activityItems: contents, applicationActivities: nil)
    present(activityVC, animated: true) { 
        UINavigationBar.appearance().barTintColor = UIColor.red
        UINavigationBar.appearance().tintColor = UIColor.white
        let navigationTextAttributes = [NSForegroundColorAttributeName : UIColor.white]
        UINavigationBar.appearance().titleTextAttributes = navigationTextAttributes
        UIBarButtonItem.appearance().setTitleTextAttributes(navigationTextAttributes, for: .normal)
        UIBarButtonItem.appearance().tintColor = UIColor.white
    }
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题?

jok*_*man 0

您想要做的是share extension通过Apple开发的iOS消息应用程序[1](如图所示)分享一些内容。所以基本上苹果可以控制它的颜色。

这是我之前的答案的链接:/sf/answers/2976219361/我还没有尝试过,但我认为你可以尝试更改UIAppearance settings你的主机应用程序,看看是否有效。但这样一来,您的主机应用程序中的所有导航栏的颜色都会发生变化。

[1] https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/Share.html#