更改Safari View控制器完成按钮色调



我可以用更改底部的UI栏

UIBarButtonItem.appearance().tintColor = UIColor.redColor()

无法找到如何使用右上角的"完成"按钮执行相同操作。

以下是AppDelegate.swift中的工作原理:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    // Override point for customization after application launch.
    UIBarButtonItem.appearance().tintColor = UIColor.redColor()
    return true
}

添加此项不起作用:

UINavigationBar.appearance().tintColor = UIColor.redColor()

要更改de Done按钮的颜色以及底部UI栏,您必须设置SFSafariViewController的视图的tintColor属性

示例:

let webVC = SFSafariViewController(URL: yourURL)
webVC.view.tintColor = UIColor.redColor()

Ismael的答案在iOS 10中对我来说不起作用。由于iOS 10 SFSafariViewController有一个属性preferredControlTintColor来设置按钮的颜色。另一个新性质是preferredBarTintColorfyi。

这是我在Swift 3:中的方法

let svc = SFSafariViewController(url: URL(string: "<YOUR_URL_STRING>")!)
if #available(iOS 10.0, *) {
    svc.preferredControlTintColor = UIColor.red
} else {
    svc.view.tintColor = UIColor.red
}
self.present(svc, animated: true, completion: nil)

添加此项有效:

UIButton.appearance().tintColor = UIColor.redColor()

最新更新