【swiftUI2021】テキスト入力で開いたキーボードを下げる

swiftUIでは、キーボードを下げるにはUIApplicationを拡張してキーボードを閉じる関数を作成する必要があります。

いままではこれを作るのに結構コードが長くなっていたのですが、スマートにつくる方法があったのでメモ。

関数を作成

新たにextensionファイル(HideKeyboadExtension.swift)を作成。

以下のように書きます。

// HideKeyboadExtension.swift
import SwiftUI

#if canImport(UIkit)
extension View {
    func hideKeyboard() {
        UIApplication.shared.sendAction(#selector(UIResponder.resignFirstResponder), to: nil, from: nil, for: nil)
    }
}
#endif

あとは任意の場所でhideKeyboard()を呼び出すだけ。簡単でした。

コメント

タイトルとURLをコピーしました