问题描述
我的应用程序中有一个“我的个人资料”表单。在表单中,我有一些按钮。其中有5个按钮用于显示自定义下拉菜单,以选择萨克斯,血统,国籍等。但是,当我有时点击这些按钮时,它们有时却没有响应。例如,如果我轻按它们10次,它们将响应2或3次。有时他们会长时间工作。我已经花了几天时间在此问题上,但是无法在我的代码中发现任何问题。有没有人遇到过这类问题?任何人都可以找出真正的问题是什么。顺便说一句,我应用程序中的所有其他按钮都可以正常工作。
import SwiftUI
struct FormPartTwoView: View {
@Binding var gender: String
@Binding var blood: String
@Binding var nationality: String
@Binding var showingGenderPicker: Bool
@Binding var showingBloodGroupPicker: Bool
@Binding var showingNationalityPicker: Bool
@Observedobject var userProfile = UserProfileviewmodel()
@Observedobject var userProfileUpdate = UserProfileUpdateviewmodel()
var body: some View {
GeometryReader { geometry in
HStack {
Button(action: {
self.showingGenderPicker.toggle()
self.showingBloodGroupPicker = false
self.showingNationalityPicker = false
}) {
vstack {
TextField("Gender",text: self.$gender)
.padding(.horizontal)
.disabled(true)
}
.font(.system(size: 13))
.frame(height: 40)
.overlay(
RoundedRectangle(cornerRadius: 5)
.stroke(Color("Border2"),linewidth: 1)
)
}
.buttonStyle(PlainButtonStyle())
Button(action: {
self.showingBloodGroupPicker.toggle()
self.showingGenderPicker = false
self.showingNationalityPicker = false
}) {
vstack {
TextField("Blood",text: self.$blood)
.padding(.horizontal)
.disabled(true)
}
.font(.system(size: 13))
.frame(height: 40)
.overlay(
RoundedRectangle(cornerRadius: 5)
.stroke(Color("Border2"),linewidth: 1)
)
}
.buttonStyle(PlainButtonStyle())
Button(action: {
self.showingNationalityPicker.toggle()
self.showingGenderPicker = false
self.showingBloodGroupPicker = false
}) {
vstack {
TextField("Nationality",text: self.$nationality)
.padding(.horizontal)
.disabled(true)
}
.font(.system(size: 13))
.frame(height: 40)
.overlay(
RoundedRectangle(cornerRadius: 5)
.stroke(Color("Border2"),linewidth: 1)
)
}
.buttonStyle(PlainButtonStyle())
}
.frame(width: geometry.size.width,height: 40)
}
}
}
struct FormPartTwoView_Previews: PreviewProvider {
static var previews: some View {
FormPartTwoView(gender: .constant(""),blood: .constant(""),nationality: .constant(""),showingGenderPicker: .constant(false),showingBloodGroupPicker: .constant(false),showingNationalityPicker: .constant(false))
}
}
这是第二个拖曳按钮的代码:
import SwiftUI
struct FormPartFiveView: View {
@Binding var district: String
@Binding var upazila: String
@Binding var postcode: String
@Binding var showingUpazilaPicker: Bool
@Binding var showingdistrictPicker: Bool
@Observedobject var userProfileUpdate = UserProfileUpdateviewmodel()
var body: some View {
GeometryReader { geometry in
HStack {
Button(action: {
self.showingdistrictPicker.toggle()
self.showingUpazilaPicker = false
}) {
vstack {
Text("\(self.district == "" ? "district" : self.district)")
.foregroundColor(self.district == "" ? Color.gray : Color.black)
.padding(.horizontal)
}
.font(.system(size: 13))
.frame(width: geometry.size.width/3.2,height: 40)
.overlay(
RoundedRectangle(cornerRadius: 5)
.stroke(Color("Border2"),linewidth: 1)
)
}
.buttonStyle(PlainButtonStyle())
Button(action: {
self.showingUpazilaPicker.toggle()
self.showingdistrictPicker = false
}) {
vstack {
Text("\(self.upazila == "" ? "Upazila" : self.upazila)")
.foregroundColor(self.upazila == "" ? Color.gray : Color.black)
.padding(.horizontal)
}
.font(.system(size: 13))
.frame(width: geometry.size.width/3.2,linewidth: 1)
)
}
.buttonStyle(PlainButtonStyle())
vstack {
TextField("Postcode",text: self.$postcode)
.padding(.horizontal)
}
.font(.system(size: 13))
.frame(width: 100,height: 40)
.overlay(
RoundedRectangle(cornerRadius: 5)
.stroke(Color("Border2"),linewidth: 1)
)
}
.frame(width: geometry.size.width,height: 40)
}
}
}
struct FormPartFiveView_Previews: PreviewProvider {
static var previews: some View {
FormPartFiveView(district: .constant(""),upazila: .constant(""),postcode: .constant(""),showingUpazilaPicker: .constant(false),showingdistrictPicker: .constant(false))
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)