WKWebView на iOS генерирует ошибку LayoutConstraints при появлении клавиатуры - PullRequest
0 голосов
/ 03 декабря 2018

Я создал простое приложение для iOS, которое отображает полноэкранный WKWebView.Он работает нормально, пока нет ввода, который запускает экранную клавиатуру, но как только клавиатура появляется, она генерирует ошибку «Невозможно одновременно удовлетворить ограничения» и полный след NSAutoresizingMaskLayoutConstraints.

Несмотря на ошибку,появляется клавиатура, и я могу использовать ввод текста.

Мое приложение очень простое, у него просто есть делегат этого приложения:

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        self.window = UIWindow(frame:UIScreen.main.bounds)
        window?.makeKeyAndVisible()
        window?.rootViewController = WebViewController()
        return true
    }

}

и этот контроллер вида:

import UIKit
import WebKit

class WebViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let webView = WKWebView()

        self.view.addSubview(webView)
        webView.translatesAutoresizingMaskIntoConstraints = false
        webView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor).isActive = true
        webView.leftAnchor.constraint(equalTo:view.safeAreaLayoutGuide.leftAnchor).isActive = true
        webView.rightAnchor.constraint(equalTo:view.safeAreaLayoutGuide.rightAnchor).isActive = true
        webView.bottomAnchor.constraint(equalTo:view.safeAreaLayoutGuide.bottomAnchor).isActive = true

        let request = URLRequest(url: URL(string: "https://www.google.com/")!)

        webView.load(request)
    }

}

Что-то не так с тем, как я использую якоря в веб-просмотре?Или мне нужны дополнительные ограничения для работы с экранной клавиатурой?

...