我正在使用SwiftUI 3.0、Swift 5.5和Xcode 13.2进行开发,在iOS 15.3的iPhone设备和iOS 15.2的iPhone模拟器上进行了测试。
我已经测试了以下内容:
这是一个视图,带有一个文本字段、一个聚焦状态和一个
我已经测试了以下内容:
这是一个视图,带有一个文本字段、一个聚焦状态和一个
.toolbar
。import SwiftUI
struct test: View {
@State private var name = "Taylor Swift"
@FocusState var isInputActive: Bool
var body: some View {
TextField("Enter your name", text: $name)
.textFieldStyle(.roundedBorder)
.focused($isInputActive)
.toolbar {
ToolbarItemGroup(placement: .keyboard) {
Spacer()
Button(name) {
isInputActive = false
}
}
}
}
}
struct test_Previews: PreviewProvider {
static var previews: some View {
test()
}
}
它像预期的那样完美地工作,并显示一个按钮,其中包含在TextField中输入的任何文本。
然后,当它在一个sheet中显示时,虽然是相同的代码,但没有工具栏。这是sheet的示例:
import SwiftUI
struct test: View {
@State private var name = "Taylor Swift"
@FocusState var isInputActive: Bool
@State var isSheetPresented: Bool = false
var body: some View {
VStack {
Button {
self.isSheetPresented = true
} label: {
Text("Open Sheet")
}
}
.sheet(isPresented: $isSheetPresented) {
TextField("Enter your name", text: $name)
.textFieldStyle(.roundedBorder)
.focused($isInputActive)
.toolbar {
ToolbarItemGroup(placement: .keyboard) {
Spacer()
Button(name) {
isInputActive = false
}
}
}
}
}
}
struct test_Previews: PreviewProvider {
static var previews: some View {
test()
}
}