2018年8月1日iOSアプリで、複数のTextFieldを持ったフォームを作る場面、よくありますよね。そんな時に、何も考えずにTextFieldを組んだらこうなっちゃったこと、ありませんか。TextFieldがキーボードで隠れるんすよ。Androidだと、入力部分を上にスライドさせてくれるんですが、iOSはそういう親切なあれはありません。自分で実装して、やり方をまとめてみました。9.2ソース:https://github.com/yheihei/ios/tree/master/TextFieldScrolleAndClose完成図TextFieldを選択すると、画面がスクロールし、キーボードで隠れなくなる。どのTextFieldが選択されているかを見て、スクロール量を決めてスクロールしている。やり方ルートをScrollViewにするAutoLayoutの設定は下記。SafeAreaいっぱいに。ScrollViewの子にViewを置くViewをScrollViewの子に置いて、AutoLayoutの設定は、ScrollViewいっぱいに。HeightをSafeAreaと同じにしておく。適当に下の方に配置する。Keyを「Done」にしておく。後ほど、コードの中でキーボードの「Done」が押されたらtextFieldShouldReturnイベントを受けてキーボードを閉じるため。UIEdgeInsets.zero}}ポイントレイアウトはルートをScrollViewに、その下にViewを入れ、その下にようやくTextField。Heightが必要なのか謎)UITextFieldDelegateを用いて、textFieldDidBeginEditingでどのTextFieldが選択されたかのイベントを受けるキーボードが開いた時に、keyboardWillBeShownが呼ばれる。2で取得したTextFieldのY座標を取得し、scrollViewをどのぐらいスクロールさせるか決めるtextFieldShouldReturnで「Done」が押されたのを検知し、resignFirstResponderでキーボードを閉じるキーボードを閉じたら、keyboardWillBeHiddenが呼ばれ、3でスクロールした量を元に戻すやってみると簡単だけど、大変めんどくさいすね。Androidはこんなこと考えなくても良いのに。ソース:https://github.com/yheihei/ios/tree/master/TextFieldScrolleAndCloseTwitterShareGoogle+PocketHatenaLINEおすすめWeb系転職記事130代未経験Webエンジニア・デザイナーが高収入な企業に転職する方法まとめ32歳でSIerを退職し、未経験からWebエンジニア兼Webデザイナーとして零細企業に転職。Webデザイン+WordPressセットTechAcademyは様々なプログラミング言語が学べる、オンラインプログラミングスクールです。オススメ講座ドットインストールはプログラミング動画講座サービスです。自動化を実現するAPIです。...NavigationControllerとViewControllerの遷移/値の渡し方/受け取り方/戻り方まとめSwiftでiOSアプリを開発していると、画面遷移と値の受け渡しに無茶苦茶苦戦します。自動化を実現するAPIです。自動化を実現するAPIです。自動化を実現するAPIです。AFFINGER5.。