我有一个视图控制器,我从一个视图控制器打开SFSafariViewController来打开一个链接。我给SFSafariViewController一个颜色。但是我给的色彩颜色和我给它的颜色不一样。我试图摆脱半透明,但仍然没有效果。
下面是我用来为SFSafariViewController提供色彩颜色的代码:
func loadUrlinWebView(urlString: String?) {
guard let urlVal = urlString else {
return
}
let url = URL(string: urlVal)
let controller = SFSafariViewController(url: url!)
if #available(iOS 10.0, *) {
controller.preferredBarTintColor = UIColor(red: 234.0 / 255.0, green: 108.0 / 255.0, blue: 19.0 / 255.0, alpha: 1.0)
controller.preferredControlTintColor = .white
} else {
controller.view.tintColor = UIColor(red: 234.0 / 255.0, green: 108.0 / 255.0, blue: 19.0 / 255.0, alpha: 1.0)
}
(controller.view.subviews[0].subviews[0] as? UINavigationBar)?.barTintColor = UIColor.tracePrimaryColor
(controller.view.subviews[0].subviews[0] as? UINavigationBar)?.isTranslucent = false
(controller.view.subviews[0].subviews[1] as? UIToolbar)?.barTintColor = UIColor.tracePrimaryColor
(controller.view.subviews[0].subviews[1] as? UIToolbar)?.isTranslucent = false
self.present(controller, animated: true, completion: nil)
controller.delegate = self
}
我设置的实际颜色为:UIColor(red: 234.0 / 255.0, green: 108.0 / 255.0, blue: 19.0 / 255.0, alpha: 1.0)
我在SFSafariViewController的导航栏上看到的颜色是UIColor(red: 233.0 / 255.0, green: 116.0 / 255.0, blue: 47.0 / 255.0, alpha: 1.0)
。
使用上面的代码我已经在SFSafariViewController的导航栏上收到了实际颜色( UIColor(red: 234.0 / 255.0, green: 108.0 / 255.0, blue: 19.0 / 255.0, alpha: 1.0))
几秒钟,然后再次将颜色更改为(UIColor(red: 233.0 / 255.0, green: 116.0 / 255.0, blue: 47.0 / 255.0, alpha: 1.0))
。我不知道为什么会这样。
请帮助我。