iOS
 Computer >> コンピューター >  >> プログラミング >> iOS

【Swift】iOSアプリでキーボードを非表示にする方法を解説

iOSアプリで画面上に表示されたキーボードを非表示にするには、iOS SDKにあらかじめ用意されている内部関数を利用します。キーボードは、テキストフィールド(TextField)やテキストビュー(TextView)に入力する際に表示されるため、対象となるテキストフィールドに応じて適切な関数を呼び出すことがポイントです。

基本的な非表示方法:resignFirstResponder()

例えば、現在フォーカスされているテキストフィールドが tfOne である場合、以下のコードでキーボードを非表示にできます。

tfOne.resignFirstResponder()

このコードは呼び出されたタイミングでキーボードを閉じます。ボタンのアクションやジェスチャレコグナイザー(Gesture Recognizer)のハンドラ内で呼び出すのが一般的です。

この方法はテキストフィールドの数が少ない場合には有効ですが、複数のテキストフィールドやテキストビューを扱う画面では、毎回個別に呼び出すのは非効率です。より汎用的な仕組みが必要になります。

画面タップでキーボードを閉じる共通関数を作る

そこで、画面のどこかをタップしたらキーボードを閉じる共通関数を作成しましょう。

func hideKeyboardWhenTappedAround() {
    let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(UIViewController.dismissKeyboard))
    tap.cancelsTouchesInView = false
    view.addGestureRecognizer(tap)
}
@objc func dismissKeyboard() {
    view.endEditing(true)
}

この関数をクラス内で呼び出せば、テキストフィールドやテキストビュー以外の画面部分をタップするたびに、キーボードが自動的に非表示になります。

UIViewControllerの拡張でさらに使いやすく

ただし、この実装ではジェスチャを追加する対象のビューが必要になるため、どの画面でも再利用できるようにするには、UIViewControllerの拡張(Extension)として組み込むのがおすすめです。

extension UIViewController {
    func hideKeyboardWhenTappedAround() {
        let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(UIViewController.dismissKeyboard))
        tap.cancelsTouchesInView = false
        view.addGestureRecognizer(tap)
    }
    @objc func dismissKeyboard() {
        view.endEditing(true)
    }
}

これで準備は完了です。あとは viewDidLoad() 内で hideKeyboardWhenTappedAround() を一度呼び出すだけで、テキストビューやテキストフィールド以外の画面上の任意の場所をタップした際に、キーボードが自動的に閉じるようになります。

この手法を使えば、入力フォームが多い画面でもユーザーにとって直感的でストレスのない操作性を実現できます。ぜひプロジェクトに取り入れてみてください。

  1. iOS 10.0.2のホームアプリ完全ガイド!HomeKitアクセサリの設定・活用方法

    iOS 10.0.2のホームアプリとは?iOS 10.0.2に搭載された「ホーム」アプリを使えば、Apple HomeKit対応製品すべてをひとつの画面からまとめて管理できます。スマートホームを楽しみたいAppleユーザーにとって、まさに必須のツールと言えるでしょう。この記事では、ホームアプリの基本的な使い方から、HomeKit対応アクセサリを自宅に組み込む方法まで、初心者の方にもわかりやすく解説します。ホームアプリの初期設定手順HomeKitアクセサリを思い通りにカスタマイズするには、まずホームアプリのセットアップとデバイスの登録を行う必要があります。iOS 10以降が必須となるため、作業前

  2. iOS 11のポッドキャストアプリの使い方 – 新機能を徹底解説

    Appleはついに「Podcast」アプリの刷新が必要であることに気づき、iOS 11で同アプリに新たな命を吹き込みました。待ち望まれていたビジュアルのアップデートにより、デザインがより魅力的になり、ポッドキャストの追加や視聴がこれまで以上に簡単になりました。さらに、あなたの好みを学習するにつれて、おすすめのポッドキャストを自動的に提案してくれるようにもなっています。新機能は制作者とリスナーの両方にとって嬉しい内容となっています。革新的なタブデザインアプリを起動して最初に気づくのは、画面下部に追加された4つの新しいタブです。タブは「今すぐ聴く」「ライブラリ」「見る」「検索」の4つ構成で、「検索