結構手順がややこしい。2時間ぐらいかかってしまった。
自分の作ってるViewをUIScrollViewの配下に置く
まずはこれ。AutoLayoutを使っている場合は、こちらを参照下さい。この通りやったら出来ました。
入れ込んだはいいけど、画面トップにIB上表示されないマージンを取られた場合は、こちらを参照下さい。
ViewControllerの「Adust Scroll View Insets」のチェックをOFFであります。
UIScrollView,UITextFieldのデリゲートを登録
略)
キーボードの自動スクロールの方法
こちらに記載されているやり方がわかりやすい。
1. UITextFieldが編集された直後に編集されているtextFieldのインスタンスを保持
2 .ソフトウェアキーボードの表示・消去のイベントハンドラを登録
3. 表示された時に、1で取得したUITextFieldのY座標を取得して、scrollViewのy座標を動かす。
4. キーボードを閉じたら、y座標をゼロに戻す。(トップにする)
該当したUITextFieldのy座標とキーボードのy座標を比べて、UITextFieldのy座標の数値が大きればキーボードは隠れている状態なので、隠れない程度までスクロールしてあげる(4の手順)、という理屈です。
千里の道も一歩からやで。