[iOS]キーボードの高さエラーの解決策
一般的なKeyBoardイベントの処理
アプリケーションでキーボードを呼び出すと、キーボードがUIに表示され、ビューの一部が遮断されます.キーボードの高さを求めることでこの問題を解決するのが一般的です
多くの資料はNotificationCenterにkeyBoardWillShowとkeyBoardWillHideを登録し、キーボードの問題を次のように処理しています.
bottomSuperViewをキーボードの高さに引き上げたい
しかし、Nochを持つiPhoneバージョンであれば、上記の方法は正しく使えません.safeAreaを考えなければならないからです.
上のコードの「注意」コードを変更すると、正しいキーボードの高さが見つかります.
アプリケーションでキーボードを呼び出すと、キーボードがUIに表示され、ビューの一部が遮断されます.キーボードの高さを求めることでこの問題を解決するのが一般的です
多くの資料はNotificationCenterにkeyBoardWillShowとkeyBoardWillHideを登録し、キーボードの問題を次のように処理しています.
bottomSuperViewをキーボードの高さに引き上げたい
@objc
func keyBoardWillShow(_ sender: Notification) {
if let keyboardFrame: NSValue = sender.useInfo?
[UIResponder.keyboardFrameEndUserInfoKey] as? NSValue
{
let keybaordRectangle = keyboardFrame.cgRectValue
let keyboardHeight = keybaordRectangle.height
// [주의]
bottomSuperView.frame.origin.y -= keyBoardHeight
}
}
セキュリティ領域に注目しかし、Nochを持つiPhoneバージョンであれば、上記の方法は正しく使えません.safeAreaを考えなければならないからです.
上のコードの「注意」コードを変更すると、正しいキーボードの高さが見つかります.
bottomSuperView.frame.origin.y -= (keyboardHeight - view.safeAreaInsets.bottom)
Reference
この問題について([iOS]キーボードの高さエラーの解決策), 我々は、より多くの情報をここで見つけました https://velog.io/@heyksw/iOS-keyBoardWillShow-키보드-높이-에러날-때テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol