出现键盘时,iOS上的WKWebView生成LayoutConstraints错误

时间:2018-12-03 15:54:09

标签: keyboard wkwebview nslayoutconstraint

我已经构建了一个简单的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)
    }

}

我在网络视图上使用锚点的方式有问题吗?还是我需要额外的约束来处理屏幕键盘?

0 个答案:

没有答案