Versuchen, erstellen Sie eine iOS-WKWebView mit einer Größe kleiner als der Bildschirm programmgesteuert

Im-beginnend mit einer einfachen app, die zeigt nur eine web-Ansicht mit WKWebView.
Alles baut und funktioniert okay, außer dass es immer fullscreen. Im Idealfall würde es nicht reichen, die unter der iOS-Statusleiste oben. Es muss gesenkt werden, indem 20px unterhalb es. Ich suchte intensiv nach einer Lösung, aber nichts ändert die Größe. Nichts ist setup im InterfaceBuilder, ich mache alles programmgesteuert. Mit Swift.

Dieser scheint etwas grundlegendes, dass viele apps mit einer WKWebView tun würde. Es sollte einfach sein. Ich bin wahrscheinlich etwas fehlt offensichtlich. Jede Hilfe ist willkommen. Vielen Dank im Voraus.

Dies ist, was ich habe, so weit:

import UIKit
import WebKit
class ViewController: UIViewController, UIGestureRecognizerDelegate , UIWebViewDelegate, WKNavigationDelegate  {

    let url = NSURL(string:"http://stackoverflow.com")
    var webView: WKWebView!

    override func viewDidLoad() {
        super.viewDidLoad()
        webView = WKWebView(frame: CGRect( x: 0, y: 20, width: 380, height: 150 ), configuration: WKWebViewConfiguration() )
        self.view = webView
        self.view.frame = webView.frame
        let req = NSURLRequest(URL:url!)
        webView.loadRequest(req)
        self.webView.allowsBackForwardNavigationGestures = true
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        //Dispose of any resources that can be recreated.
    }
}

Vielen Dank Emilio!! Der eingestellte code funktioniert perfekt!

import UIKit
import WebKit
class ViewController: UIViewController, UIGestureRecognizerDelegate , UIWebViewDelegate, WKNavigationDelegate  {

    let url = NSURL(string:"http://stackoverflow.com")
    var webView: WKWebView!

    override func viewDidLoad() {
        super.viewDidLoad()
        webView = WKWebView(frame: CGRect( x: 0, y: 20, width: self.view.frame.width, height: self.view.frame.height - 20 ), configuration: WKWebViewConfiguration() )
        self.view.addSubview(webView)
         let req = NSURLRequest(URL:url!)
        webView.loadRequest(req)
        self.webView.allowsBackForwardNavigationGestures = true
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        //Dispose of any resources that can be recreated.
    }
}
  • Danke, es hat sich als nützlich erwiesen!!
InformationsquelleAutor Eddie | 2016-06-26
Schreibe einen Kommentar