如何解决按下按钮时如何使用键盘激活文本字段
在我的代码中,我的顶部有一个搜索栏,在圆圈内有一个“放大镜”作为按钮。单击它时,它会显示一个文本字段,然后必须按它才能打开键盘。我需要在代码中实现什么,以便当我单击“放大镜”图像时,它可以立即打开键盘,而无需再次按键盘?
VStack(spacing: 0) {
HStack{
if !self.show{
Text("Buscar")
.fontWeight(.bold)
.font(.title)
.foregroundColor(.white)
}
Spacer(minLength: 0)
HStack{
if self.show{
Image(systemName: "magnifyingglass")
.padding(.leading,5)
TextField("Buscar",text: self.$txt)
Button(action: {
withAnimation {
self.txt = ""
self.show.toggle()
}
}) {
Image(systemName: "xmark").foregroundColor(.black)
}
.padding(.horizontal,8)
}
else{
Button(action: {
withAnimation {
self.show.toggle()
}
}) {
Image(systemName:"magnifyingglass")
.resizable()
.frame(width: 22,height: 22)
.font(Font.system(.body).bold())
.foregroundColor(.black)
.padding(10)
}
}
}
.padding(self.show ? 10 : 0)
.background(Color.white)
.cornerRadius(90)
}
.padding(.top,UIApplication.shared.windows.first?.safeAreaInsets.top == 0 ? 0 : UIApplication.shared.windows.first?.safeAreaInsets.top)
.padding(.horizontal)
.padding(.bottom,10)
.background(Color("Color"))
解决方法
编辑:很抱歉,SwiftUI上目前没有成为beginFirstResponder,根据此答案,您可以通过实现自己的相似行为来实现相同的行为。 https://stackoverflow.com/a/56508132/5848719
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。