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()
を呼び出すだけ。簡単でした。
コメント