NavigationBar&从UIActivityViewController

时间:2017-03-27 16:01:25

标签: ios swift3 uiactivityviewcontroller

我正在使用UIActivityViewController共享文本, 并选择"消息"从列出的选项我的屏幕显示如下, enter image description here

但是在右侧栏按钮上有一个取消按钮,它是我在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()
    }


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
    }

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

您要做的是通过Apple开发的iOS消息应用程序share extension [1](您在图片中显示的内容)分享一些内容。因此,Apple基本上可以控制它的颜色。

以下是我之前回答的链接:https://stackoverflow.com/a/42517419/5220959我还没有尝试,但我认为您可以尝试更改主机应用的UIAppearance settings,看看是否有效。但这样,所有导航栏的颜色都将在您的主机应用中更改。

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