Add keyboard dismiss toolbar for iOS numeric and multi-line fields

Creates a reusable KeyboardDismissToolbar view modifier that adds a
"Done" button to dismiss keyboards that don't have a return key.
Applied to all numeric keyboards (numberPad, decimalPad, phonePad)
and multi-line text inputs (TextEditor, TextField with axis: .vertical).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Trey t
2025-12-15 21:20:33 -06:00
parent e44bcdd988
commit e7c09f687a
9 changed files with 44 additions and 0 deletions

View File

@@ -112,6 +112,7 @@ struct ContractorFormSheet: View {
TextField(L10n.Contractors.phoneLabel, text: $phone)
.keyboardType(.phonePad)
.focused($focusedField, equals: .phone)
.keyboardDismissToolbar()
}
HStack {
@@ -203,6 +204,7 @@ struct ContractorFormSheet: View {
.keyboardType(.numberPad)
.focused($focusedField, equals: .postalCode)
.frame(maxWidth: 100)
.keyboardDismissToolbar()
}
} header: {
Text(L10n.Contractors.addressSection)
@@ -220,6 +222,7 @@ struct ContractorFormSheet: View {
TextEditor(text: $notes)
.frame(height: 100)
.focused($focusedField, equals: .notes)
.keyboardDismissToolbar()
}
} header: {
Text(L10n.Contractors.notesSection)