Swift UI のText Fieldへの入力完了後、余白をタップすることで、TextFieldのフォーカスを外す方法を備忘録としてまとめました。
コード
struct LoginFormView: View {
@State private var searchString = ""
@FocusState private var focusedField: Field?
var body: some View {
VStack{
TitleText(titleText: "アーティスト", font: .title)
TextField("アーティスト名", text: $searchString)
.padding(6)
.bottonGray(isSelected: false)
.focused($focusedField, equals: .searchString)
Spacer()
}
.ignoresSafeArea()
.padding()
.contentShape(Rectangle())
.onTapGesture {
focusedField = nil
}
}
enum Field: Hashable {
case searchString
}
}
青の箇所が追加したコードになります。
動作
TextFieldをタップするとキーボードが表示され
背景をタップすると、
テキストボックスが非表示となります。
現在、myLive!ではアーティスト検索ビューの実装を行なっています!
今後も開発の状況を発信していきますので、是非ともよろしくお願いします🙌