キーボードの出入りに合わせる自前アニメーション処理は不要
UITextViewなどがファーストレスポンダになったときにキーボードが出てきて、それと同時に画面上のUIパーツもキーボードで隠れないように上に移動させることがよくあります。
キーボードの動きとUIパーツの動きのタイミングを合わせると見た目がシンプルになります。このUIパーツのアニメーションを自分で書くのではなく、OSに任せることが出来ます。
シミュレーションで確認してみると、これが出来るのはiOS10からのようです。
自動でやってくれるのはUIパーツのframeの設定だけでなく、UITextViewの大きさを変更したときにカーソルが表示領域に入るようにスクロールオフセットの値を調整するのもやってくれるようです。
キーボードが出てくるときと同様にキーボードがしまわれるときは keyboardWillHideNotification を使います。
いたれりつくせりですね。
https://stackoverflow.com/questions/39292796/why-is-a-uiview-whose-frame-i-change-after-receiving-a-uikeyboardwillshownotific
https://stackoverflow.com/questions/35914577/uikeyboardwillshownotification-animation
https://stackoverflow.com/questions/39292796/why-is-a-uiview-whose-frame-i-change-after-receiving-a-uikeyboardwillshownotific
https://medium.com/@shenghuawu/observe-ios-keyboard-notifications-a49323813656
キーボードの動きとUIパーツの動きのタイミングを合わせると見た目がシンプルになります。このUIパーツのアニメーションを自分で書くのではなく、OSに任せることが出来ます。
やり方
keyboardWillShowNotificationを受けたときに走らせるメソッドで、動かすUIパーツのframeやcenterの情報を書きます。あとは自動でアニメーションを行ってくれます。シミュレーションで確認してみると、これが出来るのはiOS10からのようです。
自動でやってくれるのはUIパーツのframeの設定だけでなく、UITextViewの大きさを変更したときにカーソルが表示領域に入るようにスクロールオフセットの値を調整するのもやってくれるようです。
キーボードが出てくるときと同様にキーボードがしまわれるときは keyboardWillHideNotification を使います。
いたれりつくせりですね。
https://stackoverflow.com/questions/39292796/why-is-a-uiview-whose-frame-i-change-after-receiving-a-uikeyboardwillshownotific
https://stackoverflow.com/questions/35914577/uikeyboardwillshownotification-animation
https://stackoverflow.com/questions/39292796/why-is-a-uiview-whose-frame-i-change-after-receiving-a-uikeyboardwillshownotific
https://medium.com/@shenghuawu/observe-ios-keyboard-notifications-a49323813656
コメント
コメントを投稿