SFSafariViewController的导航栏颜色不牢固

时间:2017-11-08 12:22:45

标签: ios swift3 sfsafariviewcontroller tintcolor translucency

我有一个视图控制器,我从一个视图控制器打开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))。我不知道为什么会这样。

请帮助我。

0 个答案:

没有答案