当我打开新页面,然后选择 TextField 键盘打开但未显示带有完成按钮的工具栏时。当我将应用程序后台模式切换到前台模式工具栏并显示完成按钮后。
这是我的简单代码。
@FocusState private var isFocused: Bool
var body: some View {
TextField("Name", text: $name)
.frame(width: .infinity, height: 40)
.padding(.all)
.focused($isFocused)
.toolbar {
ToolbarItemGroup(placement: .keyboard) {
Spacer()
Button("Done") {
isFocused = false
}
}
}
}
我尝试一切, 将其放在vstack中的VStack调用工具栏上的我的文本字段中,我将每个地方都放在了相同的问题上。
我相信这是另一个 SwiftUI 错误。我的
toolbar
没有出现在 iOS 17 中。您可以尝试此解决方法,将内容包装在 NavigationStack
中。
var body: some View {
NavigationStack {
TextField...
}
}