キーボードの出入りに合わせる自前アニメーション処理は不要
UITextViewなどがファーストレスポンダになったときにキーボードが出てきて、それと同時に画面上のUIパーツもキーボードで隠れないように上に移動させることがよくあります。 キーボードの動きと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