Я создал простое приложение для 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)
}
}
Что-то не так с тем, как я использую якоря в веб-просмотре?Или мне нужны дополнительные ограничения для работы с экранной клавиатурой?