कई बटन का उपयोग करते समय SwiftUI फॉर्म कंटेनर में अप्रत्याशित व्यवहार [डुप्लिकेट]
Nov 27 2020
नीचे दिए गए कोड को देखते हुए मुझे उम्मीद है कि चयन बटन ZERO
पर टैप करने के बाद होगा ZERO
, लेकिन यह हमेशा होता है ONE
। वास्तव में, मुझे बटन नाम पर टैप करने की आवश्यकता नहीं है, लेकिन पंक्ति के बीच में, और चयन अभी भी होगा ONE
। यह अप्रत्याशित व्यवहार है और संभवतः एक बग है। किसी को भी इसके लिए एक स्पष्टीकरण और / या समाधान है? IOS 14.0 और Xcode 12.2 का उपयोग करना
struct TestForm : View {
@State var selection = ""
var body : some View {
Form {
Text("selection: \(selection)")
HStack {
Button(action: {
selection = "ZERO"
}) {
Text("ZERO")
}
Spacer()
Button(action: {
selection = "ONE"
}) {
Text("ONE")
}
}
}
}
}
जवाब
2 HarshilPatel Nov 27 2020 at 04:44
PlainButtonStyle () का उपयोग करें ।
struct ContentView: View {
@State var selection = ""
var body : some View {
Form {
Text("selection: \(selection)")
HStack {
Button(action: {
selection = "ZERO"
}) {
Text("ZERO")
.foregroundColor(.blue)
}.buttonStyle(PlainButtonStyle())
Spacer()
Button(action: {
selection = "ONE"
}) {
Text("ONE")
.foregroundColor(.blue)
}.buttonStyle(PlainButtonStyle())
}
}
}
}
मैंने .foregroundColor(.blue)
बटन पाठ में जोड़ा क्योंकि अगर आप .buttonStyle(PlainButtonStyle())
अपने बटन को जोड़ते हैं तो यह आपके बटन को सादे पाठ की तरह बना देगा।