objective c - Siri Dictation Bypasses UITextView:shouldChangeTextInRange Delegate -
मैं (BOOL) textView का उपयोग करता हूँ: (UITextView *) textView चाहिए ChangeChangeInRange: (एनएसआरेंज) रेंज प्रतिस्थापन प्रति: (NSString * )
। यह अच्छी तरह से कार्य करता है और चिपकाए गए टेक्स्ट को भी संभालता है जिसमें अमान्य वर्ण शामिल हो सकते हैं। UITextView
में प्रत्येक चरित्र इनपुट पर रीयल-टाइम रिजक्स सत्यापन करने के लिए
लेकिन सिरी इस तरह की चीजों की परवाह नहीं करते हैं और सीधे अपनी कूटलेख को सीधे (शून्य) टेक्स्ट व्यूडिड चेंज: (UITextView *) theTextView
में, कोचिंगटैक्स्टइनरेन्ज
प्रतिनिधि और सत्यापन जांच से बचने के लिए।
यह मुझे एक सुरक्षा दोष की तरह लगता है और एपीआई प्रवाह को तोड़ता है जो हर दूसरे इनपुट चैनल का अनुसरण करता है।
किसी भी विचार से कि मैं सिरी डिक्टेटेशन कैसे प्राप्त कर सकता हूं shouldChangeTextInRange
कॉल करने का अनुपालन करने के लिए मुझे लगता है कि यह जवाब है .. ..if:
- (BOOL) पाठदृश्य: (UITextView *) textView sh OuldChangeTextInRange: (एनएसआरेंज) रेंज प्रतिस्थापन प्रतिलिपि: (NSString *) पाठ
को कहा जाता है तो यह एक उपयोगकर्ता इनपुट है इसलिए याद रखें कि 'क्या चाहिए' चेक किया गया था, इसके लिए एक बॉल डाल दिया।
तब, माइक्रोफ़ोन इनपुट कॉल करेगा:
- (शून्य) पाठदृश्य दृश्य: (UITextView *) TextView
यहां पर अपने BOOL की जांच करें और यदि यह नहीं है, तो यह एक माइक्रोफ़ोन इनपुट है।
(textViewDidChange के अंत में BOOL = NO करें)
यह मेरे लिए महान काम करता है।
Comments
Post a Comment