Hallo zusammen,
zum Lernen sitze ich gerade an einer kleinen App, in der habe ich jetzt eine eigens zusammengestellte SearchBar integriert:
Alles anzeigen
Die Searchbar hat einen Button zum Aufrufen eines Scanners, sowie einen Clear Button sobald etwas im TextField geschrieben wurde. Das funktioniert soweit auch alles fein. Doch wenn ich die Searchbar innerhalb einer Form{} platziere, öffnet sich jedes mal der Scanner zusammen mit dem Clear Button. Kann mir da jemand weiterhelfen woran das liegt?
zum Lernen sitze ich gerade an einer kleinen App, in der habe ich jetzt eine eigens zusammengestellte SearchBar integriert:
Quellcode
- struct SearchBar: View {
- @Binding var searchText: String
- @Binding var isScannerPresented: Bool
- var placeholder: String
- var body: some View {
- HStack {
- TextField(placeholder, text: $searchText)
- .padding(.vertical, 10)
- .padding(.leading, 10)
- .overlay(
- HStack {
- Spacer()
- if !searchText.isEmpty {
- Button(action: {
- searchText = ""
- }) {
- Image(systemName: "multiply.circle.fill")
- .foregroundColor(.gray)
- .padding(.trailing, 10)
- }
- }
- }
- )
- Button(action: {
- isScannerPresented = true
- }) {
- Image(systemName: "barcode")
- .padding(10)
- .foregroundColor(.yellow)
- .cornerRadius(8)
- }
- .sheet(isPresented: $isScannerPresented) {
- BarCodeScanner(isbn: Binding($searchText), foundBooks: .constant(nil))
- }
- }
- .background(Color.secondary.opacity(0.1))
- .cornerRadius(10)
- .padding(.horizontal)
- }
- }