タイトルママ
設定方法
-
UIScrollViewDelegate
を定義
final class WebViewModel: NSObject, ObservableObject, WKNavigationDelegate, WKUIDelegate, UIScrollViewDelegate {
- delegate登録
webView.scrollView.delegate = self
- webviewにkeyboardDismissModeを設定
webView.scrollView.keyboardDismissMode = .onDrag // 画面ドラッグしたとき、キーボードを閉じる
おまけ:キーボードの表示/非表示の監視
- キーボードの表示/非表示を監視
// キーボード表示通知を登録
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow(_:)), name: UIResponder.keyboardWillShowNotification, object: nil)
// キーボード非表示通知を登録
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillHide(_:)), name: UIResponder.keyboardWillHideNotification, object: nil)
- キーボード表示/非表示されたときの処理
// キーボードが表示されるときの処理
@objc func keyboardWillShow(_ notification: Notification) {
print("Keyboard will show")
}
// キーボードが非表示になるときの処理
@objc func keyboardWillHide(_ notification: Notification) {
print("Keyboard will hide")
}
deinit {
// NotificationCenterの登録解除
NotificationCenter.default.removeObserver(self)
}