我对SwiftUI非常陌生,我试着在这里和那里教自己一些东西。但有一个问题一直困扰着我.我不明白为什么工具栏对我不起作用/显示。
示例代码在下面,但是按钮没有显示,也没有实际的条形图。我有iOS 15.2,XCode 13.2测试版。
TextField("placeholder", text: $text)
.toolbar {
ToolbarItemGroup(placement: .keyboard) {
HStack {
Button(action: {
hideKeyboard()
}) {
Text("Done")
}
}
}
}编辑:
弄明白了为什么..。只是因为某种原因,它在滚动视图中不能工作。有人知道为什么吗?
发布于 2022-03-02 18:06:42
在iOS 15.2下- Xcode 13.2 (非beta)。
struct ContentView: View {
@State var text: String = ""
var body: some View {
NavigationView {
VStack {
Text(text)
TextField("Enter your name", text: $text)
}
.padding()
.navigationTitle("SwiftUI")
.toolbar {
// ToolbarItem(placement: .keyboard) {
// Button("Ok") {
// print("ok")
// }
// }
ToolbarItemGroup(placement: .keyboard) {
HStack {
Button("Press Me") {
print("Pressed")
}
Spacer()
Button(action: {
print("done")
}) { Text("Done") }
}
}
}
}
}
}确保将所有内容都放在VStack或类似的文件中。

发布于 2022-03-18 03:23:32
Xcode 13.3 (发行版),为了使工具栏显示出来,TextField和.toolbar需要在NavigationView内部。
在我的特殊情况下,我不想要一个NavigationBar,所以我最终得到了这样的东西来使它工作:
var body: some View {
NavigationView {
VStack {
TextField("Enter your name", text: $text)
// Additional text fields go here, all text fields will get the toolbar.
}
.navigationTitle("")
.navigationBarHidden(true)
.navigationBarBackButtonHidden(true)
.toolbar {
ToolbarItemGroup(placement: .keyboard) {
Spacer()
Button("Dismiss") {
print("Bismiss keyboard...")
}
}
}
}
}https://stackoverflow.com/questions/69922865
复制相似问题