私は次のコードを使用して、キーボードが表示されたら、ビューを上に移動しようとしています:キーボードの高さ - スウィフト
func keyboardWillShow(notification: NSNotification) {
if let keyboardSize: CGSize = (notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue.size {
if self.view.frame.origin.y == 0{
print("Keyboard height is: \(keyboardSize.height)")
let keyboardHeight = keyboardSize.height - (self.tabBarController?.tabBar.frame.height)!
self.view.frame.origin.y -= (keyboardHeight)
print("Keyboard height is: \(keyboardSize.height)")
}
}
}
アプリが開かれた後、この関数が呼び出された最初の時間をキーボードの高さは0として設定されます。これは、ビューがtabBarの高さだけ落ちることを意味します。ビューをリロードすると、それ以降は完全に動作します。
キーボードが実際に開かれるまでキーボードの高さが上がっていないようですが、これは機能の最初の実行には遅すぎます。
問題は何ですか?詳細をご希望の場合はお知らせください。
ありがとうございました。私もそれを試しましたが、違いはありません。あなたがそれが違いをもたらすと思うなら、これはTabViewController内で起こっていますか? –
私のために働いた ありがとう... !! –