我可以用更改底部的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
来设置按钮的颜色。另一个新性质是preferredBarTintColor
fyi。
这是我在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()