簡體   English   中英

WKWebView切斷了我在Xcode 9和Swift 4.0中的其他視圖

[英]WKWebView is cutting off my other view in Xcode 9 & Swift 4.0

我是使用Xcode和Swift的新手。

我在使用新的WKWebView時遇到問題。 我通常使用情節提要,但我了解到Xcode 9有一個錯誤,如果您進行的構建包含ios 11之前的內容,則不允許您使用WKWebView。我了解到,可以通過編程方式添加它,但是並一直在這里遵循Apple的說明: https//developer.apple.com/documentation/webkit/wkwebview

我需要能夠添加Webview,同時在頂部留出空間來創建我作為橫幅廣告的自定義視圖。 此頂視圖的高度為116,並且在添加Webview之前,約束在所有設備和方向上均有效。

當我添加Webview並添加其自定義大小和約束時,該Webview還可在所有設備和方向上完美運行。 但是,我的頂部橫幅視圖丟失了。

我不確定要丟失的內容還是不確定Webview的代碼寫錯了。 我將屏幕截圖和代碼附加到Webview。

非常感謝你的幫助!

這是缺少橫幅的Webview選項卡

這是另一個標簽,顯示橫幅的外觀

import UIKit
import WebKit

class FirstViewController: UIViewController, WKUIDelegate {


var myWebView: WKWebView!

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

}
override func viewDidLoad() {
    super.viewDidLoad()

    myWebView = WKWebView(frame: CGRect( x: 0, y: 116, width: 414, height: 571), configuration: WKWebViewConfiguration() )
    self.view.addSubview(myWebView)
    myWebView.translatesAutoresizingMaskIntoConstraints = false

    myWebView.topAnchor.constraint(equalTo: view.topAnchor, constant: 116).isActive = true
    myWebView.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: 49).isActive = true
    myWebView.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 0).isActive = true
    myWebView.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: 0).isActive = true
    myWebView.widthAnchor.constraint(equalToConstant: 414).isActive = true
    myWebView.heightAnchor.constraint(equalToConstant: 571).isActive = true


    let myURL = URL(string: "https://apple.com")
    let myRequest = URLRequest(url: myURL!)
    myWebView.load(myRequest)
}

只要設置了Leading,Trailing,Top和Bottom約束,就刪除寬度和高度約束,因為webViewBottom = mainviewBottom-49,bottom也應為-49而不是49

  myWebView.topAnchor.constraint(equalTo: view.topAnchor, constant: 116).isActive = true
  myWebView.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: -49).isActive = true
  myWebView.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 0).isActive = true
  myWebView.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: 0).isActive = true

您的橫幅消失,只是因為你把你的WKWebView的實例為view視圖控制器的性能,在最后一行loadView方法。 嘗試將其添加為子視圖,甚至在Interface Builder中創建2個視圖,第一個用於橫幅,第二個用於Web視圖,您還可以通過IB設置約束。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM