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

Popular posts from this blog

apache - 504 Gateway Time-out The server didn't respond in time. How to fix it? -

c# - .net WebSocket: CloseOutputAsync vs CloseAsync -

c++ - How to properly scale qgroupbox title with stylesheet for high resolution display? -