如何在UIActivityViewController上按下取消按钮时更改NavigationController文本颜色?

时间:2017-11-09 05:58:30

标签: ios swift uiactivityviewcontroller

对于NavigationController文本,颜色文本为白色,但在用户按下共享按钮时将其更改为白色(以显示取消按钮)。但是当用户按下取消按钮并从文本编写返回时,颜色保持不变,不会变回白色。

检查完成处理程序,因为我在日志中看到了打印,但它没有改变颜色。

func completionHandler(activityType: UIActivityType?, shared: Bool, items: [Any]?, error: Error?) {
    if (shared) {
        print("Cool user shared some stuff")
    }
    else {
        print("Bad user canceled sharing :(")
        UIButton.appearance(whenContainedInInstancesOf: [UINavigationBar.self]).tintColor = .white
        navigationController?.navigationBar.largeTitleTextAttributes = [
            NSAttributedStringKey.foregroundColor : UIColor.white
        ]
        navigationController?.navigationBar.titleTextAttributes = [
            NSAttributedStringKey.foregroundColor : UIColor.white
        ]

    }

}

1 个答案:

答案 0 :(得分:0)

删除了完成处理程序以及与改变色彩颜色相关的所有代码,并且只将以下内容添加到搜索栏。

UIBarButtonItem.appearance(whenContainedInInstancesOf: [UISearchBar.self]).tintColor = .white

如果我现在点击搜索栏,取消按钮颜色为白色,当我通过消息分享内容时,撰写文本“取消”按钮颜色是默认颜色(蓝色)。