SwiftUIのTextFieldのキーボードがデフォルトだと閉じれなくて困りました。
専用の閉じるボタンを用意するのも面倒で、かつUIが増えるし、改行が必要ないならreturnキーで閉じたい。
とりあえずこれでできたので、同じ悩みを抱えている方は
是非コピペして動かしてみて下さい。
struct ContentView: View {
@State private var inputText = ""
@FocusState private var textField: Bool
var body: some View {
VStack {
TextField("何か入力してね♪",text: Binding<String>(get: {
inputText
}, set: { value in
// キーボードのreturnキー押下したらキーボードを閉じる.
if value.contains("\n"){
textField = false
} else {
inputText = value
}
}),axis: .vertical)
.focused($textField)
}
}
}