[英]Pin TextField to Keyboard in SwiftUI
是否可以在 SwiftUI 中将文本字段固定到键盘顶部? 与 iOS 上的消息传递应用程序几乎相同,它位于屏幕底部,但当您单击它时会随键盘移动,但使用 SwiftUI,我环顾四周,找不到任何东西。
您可以使用工具栏修饰符和带有.keyboard 放置的工具栏项组来实现此目的。
struct ToolBarTest: View {
@State private var text: String = ""
@FocusState private var focus: Bool
@FocusState private var focusToolbar: Bool
var body: some View {
ZStack {
VStack{
Spacer()
TextField("toolbar", text: $text)
.textFieldStyle(.roundedBorder)
.opacity(focus || focusToolbar ? 0 : 1)
.focused($focus)
}
.toolbar {
ToolbarItemGroup(placement: .keyboard){
TextField("toolbar", text: $text)
.textFieldStyle(.roundedBorder)
.focused($focusToolbar)
}
}
.onChange(of: focus) {
if $0{
focusToolbar = true
}
}
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.