स्विफ्टयूआई में TextEditor
में इसे कैसे करें? मैंने कीबोर्ड से रिटर्न पढ़ने के बारे में सोचा। TextField
में onEditingChanged
और onCommit
हैं, लेकिन TextEditor में नहीं है।
नोट्स ऐप में यह स्वचालित रूप से क्रमांकित सूची का पता लगाता है, और इसमें बुलेटेड सूची जोड़ने के लिए बटन होता है।
मैं विशेष रूप से इसे खाली लाइन के बाद नंबर/बुलेट जोड़ना चाहता हूं। (अगर संभव हो तो)
1 उत्तर
आप TextEditor
के टेक्स्ट में onChange
के साथ बदलाव देख सकते हैं। फिर। [text] newText
करके, आप पुराने और नए दोनों मान प्राप्त कर सकते हैं।
text
पिछला टेक्स्ट हैnewText
वर्तमान पाठ है
आप इनकी तुलना केवल एक बुलेट बिंदु जोड़ने के लिए कर सकते हैं जब उपयोगकर्ता वर्ण जोड़ रहा हो, उन्हें हटा नहीं रहा हो।
ध्यान दें कि मेरा कार्यान्वयन अभी तक टेक्स्ट की बड़ी श्रेणियों को चिपकाने का काम नहीं करता है।
struct ContentView: View {
@State var text = "\u{2022} "
var body: some View {
TextEditor(text: $text)
.frame(height: 400)
.border(Color.black)
.onChange(of: text) { [text] newText in
if newText.suffix(1) == "\n" && newText > text {
self.text.append("\u{2022} ")
}
}
}
}
" "
सफेद रिक्त स्थान जोड़ने की कोशिश की है ... (लेकिन यह पसंद नहीं आया)
संबंधित सवाल
नए सवाल
swiftui
SwiftUI ग्राफिकल यूजर इंटरफेस को परिभाषित करने के लिए एप्पल की घोषणात्मक स्विफ्ट एपीआई है। किसी भी प्लेटफ़ॉर्म पर SwiftUI के बारे में प्रश्नों के लिए इस टैग का उपयोग करें।