Ios UIActivityViewController共享消息取消未显示

Ios UIActivityViewController共享消息取消未显示,ios,swift3,ios11,uiactivityviewcontroller,Ios,Swift3,Ios11,Uiactivityviewcontroller,当我想通过UIActivityViewController与消息应用程序共享URL时。取消按钮是白色的(我猜是因为它仍然可以点击) let vc = UIActivityViewController(activityItems: [article.webReference], applicationActivities: []) self.present(vc, animated: false, completion:nil) vc.completionWith

当我想通过
UIActivityViewController
与消息应用程序共享URL时。取消按钮是白色的(我猜是因为它仍然可以点击)

let vc = UIActivityViewController(activityItems: [article.webReference], applicationActivities: [])
        self.present(vc, animated: false, completion:nil)

        vc.completionWithItemsHandler = {(s, ok, items, error) in
            switch s {
            case UIActivityType.mail?:
                print("mail")
                AnalyticsHelper.sharedInstance.sendShareMailEvent(articleUrl: article.webReference)
            case UIActivityType.postToFacebook?:
                print("facebook")
                AnalyticsHelper.sharedInstance.sendShareFacebookEvent(articleUrl: article.webReference)
            case UIActivityType.postToTwitter?:
                print("twitter")
                AnalyticsHelper.sharedInstance.sendShareTwitterEvent(articleUrl: article.webReference)
            default:
                print("others")
            }
        }
它仅出现在iOS 11上,这里的代码用于显示UIActivityViewController,在显示
UIActivityViewController
之前,我已尝试更改颜色,但按钮保持白色:

if #available(iOS 11.0, *) {
   UIButton.appearance(whenContainedInInstancesOf:[UINavigationController.self]).tintColor = .blue
}
let vc = UIActivityViewController(activityItems: [article.webReference], applicationActivities: [])
        self.present(vc, animated: false, completion:nil)

        vc.completionWithItemsHandler = {(s, ok, items, error) in
            switch s {
            case UIActivityType.mail?:
                print("mail")
                AnalyticsHelper.sharedInstance.sendShareMailEvent(articleUrl: article.webReference)
            case UIActivityType.postToFacebook?:
                print("facebook")
                AnalyticsHelper.sharedInstance.sendShareFacebookEvent(articleUrl: article.webReference)
            case UIActivityType.postToTwitter?:
                print("twitter")
                AnalyticsHelper.sharedInstance.sendShareTwitterEvent(articleUrl: article.webReference)
            default:
                print("others")
            }
        }
下面是用于显示UIActivityViewController的代码

let vc = UIActivityViewController(activityItems: [article.webReference], applicationActivities: [])
        self.present(vc, animated: false, completion:nil)

        vc.completionWithItemsHandler = {(s, ok, items, error) in
            switch s {
            case UIActivityType.mail?:
                print("mail")
                AnalyticsHelper.sharedInstance.sendShareMailEvent(articleUrl: article.webReference)
            case UIActivityType.postToFacebook?:
                print("facebook")
                AnalyticsHelper.sharedInstance.sendShareFacebookEvent(articleUrl: article.webReference)
            case UIActivityType.postToTwitter?:
                print("twitter")
                AnalyticsHelper.sharedInstance.sendShareTwitterEvent(articleUrl: article.webReference)
            default:
                print("others")
            }
        }

我也有同样的问题,因为UIBarButtomItem.appearance().tintColor发生了变化。我没有改变默认的UI外观,而是创建了从UINavigationController继承的NavigationController类,并在viewDidLoad方法中自定义了所需的内容。接下来,我将脚本和纯代码中使用的所有UInavigationController更改为NavigationController。现在我可以在AppDelegate中更改此类的控件,例如:

let vc = UIActivityViewController(activityItems: [article.webReference], applicationActivities: [])
        self.present(vc, animated: false, completion:nil)

        vc.completionWithItemsHandler = {(s, ok, items, error) in
            switch s {
            case UIActivityType.mail?:
                print("mail")
                AnalyticsHelper.sharedInstance.sendShareMailEvent(articleUrl: article.webReference)
            case UIActivityType.postToFacebook?:
                print("facebook")
                AnalyticsHelper.sharedInstance.sendShareFacebookEvent(articleUrl: article.webReference)
            case UIActivityType.postToTwitter?:
                print("twitter")
                AnalyticsHelper.sharedInstance.sendShareTwitterEvent(articleUrl: article.webReference)
            default:
                print("others")
            }
        }
let navBarButton = UIBarButtonItem.appearance(whenContainedInInstancesOf: [NavigationController.self])
navBarButton.tintColor = .white