Как показать WKWebView на половине страницы с меткой и кнопками - PullRequest
1 голос
/ 20 сентября 2019

Я новичок в Xcode и разработке приложений в целом, я старший в старшей школе и делаю приложение для своего старшего проекта.У меня есть контроллер представления, и мне нужно показать веб-сайт в нижней половине экрана и надписью и кнопкой над ним.Используя пример кода, который Apple дает в своей документации для разработчиков о WKWeb View, я могу загрузить веб-сайт, но он занимает весь экран.Есть ли способ сделать так, чтобы веб-страница занимала только половину экрана.Я не смог найти хороший учебник о том, как это сделать, но если кто-нибудь знает один, который поможет.

import UIKit
import WebKit

class HomeViewController: UIViewController, WKUIDelegate{


    @IBOutlet weak var webView: WKWebView!

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

    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
       let myURL = URL(string:"http://example.com")
        let myRequest = URLRequest(url: myURL!)
        webView.load(myRequest)
    }




} ```


1 Ответ

0 голосов
/ 21 сентября 2019

Я думаю, что ваша проблема здесь: view = webView.Здесь вы назначаете свой webView как rootView вашего ViewController, который обычно является целым экраном (по крайней мере, в вашем случае).

Вам лучше ДОБАВИТЬ его в свое представление.

import UIKit
import WebKit

class HomeViewController: UIViewController, WKUIDelegate {

private var webView = WKWebView(frame: CGRect.zero, configuration: WKWebViewConfiguration())

override func viewDidLoad() {
    super.viewDidLoad()

    // set the delegate for webView
    webView.uiDelegate = self

    // define URL
    let myURL = URL(string:"https://www.apple.com/de/")

    // create request
    let myRequest = URLRequest(url: myURL!)

    // show request
    webView.load(myRequest)

    // make webView ready for Autolayout
    webView.translatesAutoresizingMaskIntoConstraints = false

    // add webView to view
    view.addSubview(webView)

    // size the webView beeing 75 % of the screen
    webView.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true
    webView.rightAnchor.constraint(equalTo: view.rightAnchor).isActive = true
    webView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
    webView.heightAnchor.constraint(equalTo: view.heightAnchor, multiplier: 0.75).isActive = true
    }    
}
...