What is wrong with the iOS Keyboard toolbar in SwiftUI

650 Views Asked by At

I am aware I asked a similar question before, but it seems like I have not understood the core concept of how to present a custom toolbar above a keyboard.

I successfully solved my problem on how to present one with a search field (SwiftUI 2.0: Custom keyboard elements).

Now I want to present a keyboard when a textfield within a detail view of a list is clicked, but again the keyboard toolbar does not show. Does anyone have an idea why?

 VStack {
                Text("Weight:")
                TextField("0", text: $weight)
                    .keyboardType(.decimalPad)
                    .toolbar {
                        ToolbarItemGroup(placement: .keyboard) {
                            HStack {
                                Button(action: {
                                    print("Set bodyweight")
                                },
                                    label: {Text("Bodyweight")
                                })
                                Picker("", selection: $weightType) {
                                    ForEach(weightSuffix.allCases, id: \.self) {
                                        Text($0.rawValue)
                                    }
                                }
                                .pickerStyle(.segmented)
                            }
                        }
                    }
            }
            .border(Color.red)

[EDIT]

After Asperi´s comment I Created a small git: https://gist.github.com/joni8a/bc021ef597cb6efa1ab0ca277d602478

Now it gets even weirder, if I attach the toolbar modifier to the list element I get the intended behavior, showing 1 button above the toolbar enter image description here

If I append the toolbar modifier to the textfield inside the detail view I get the following result: enter image description here

I think this is a weird behavior. It seems like I have not understood a core concept of SwiftUI. On the other hand if I can't attach the viewmodifer to the textfield itself, it is hard to uncouple the detail view from the list view ...

0

There are 0 best solutions below