【问题标题】:NavigationBar & BarButtonItem color change for MessageComposer presented on choosing from UIActivityViewController从 UIActivityViewController 选择时出现的 MessageComposer 的 NavigationBar 和 BarButtonItem 颜色更改
【发布时间】:2017-08-20 10:40:25
【问题描述】:

我正在使用 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()
    }


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
    }

如何解决这个问题?

【问题讨论】:

    标签: ios swift3 uiactivityviewcontroller


    【解决方案1】:

    您正在尝试通过 Apple 开发的 iOS 消息应用程序的share extension[1](您在图片中显示的内容)分享一些内容。所以基本上苹果可以控制它的颜色。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-07
      • 2012-09-01
      • 2016-07-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多