WebKit支持较低版本的iOS

时间:2018-07-11 05:58:44

标签: ios swift statusbar margins

我正在尝试在我的应用程序内添加webView。

在较低版本的iOS中,webView位于状态栏的后面。在iOS 11及更高版本中,webView的位置正确,为什么在较低版本的iOS中的位置不正确? 如何在支持所有iOS设备的webView和状态栏之间添加空间?

这是我的代码

override func loadView() {
    let webConfiguration = WKWebViewConfiguration()
    webView = WKWebView(frame: .zero, configuration: webConfiguration)
    webView.uiDelegate = self
    view = webView  
}

我试图添加页边距和最高约束,但是没有用。

  let margins = view.layoutMarginsGuide
  webView.topAnchor.constraint(equalTo: margins.bottomAnchor,constant : 200).isActive = true
  view.layoutMargins = UIEdgeInsets(top: 164, left: 0, bottom: 0, right: 0)

希望您能理解我的问题。 预先感谢。

1 个答案:

答案 0 :(得分:0)

我用它来定位我的网页:

override func viewDidAppear(_ animated: Bool)
{
    if #available(iOS 11.0, *)
    {
        allStack.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor).isActive = true
    }
    else
    {
        allStack.topAnchor.constraint(equalTo: view.topAnchor, constant: 20).isActive = true
    }
}

其中 allStack 是保存我的自定义导航栏和WKWebView的UIStackView。

如果整个视图的位置小于iOS 11,则将整个视图从顶部移至20点,否则将移至安全区域。