2014-06-09 12 views
5

से अलग UITextField के लिए डिक्टेशन परिणाम IOS में टेक्स्ट एंट्री के लिए टेक्स्ट विकल्प में भाषण पर कोई दस्तावेज नहीं दिख रहा है। मुझे पता है कि आप कुछ एवी सामानों के साथ इसे मैन्युअल रूप से कर सकते हैं, लेकिन सिरी सक्षम होने पर आपको प्राप्त होने वाले बॉक्स श्रुतलेख के बाहर कुछ कर्कश हैं।UITextView

इसे आजमाएं। खोज बार के साथ आपके पास कोई भी आईओएस ऐप खोलें। यह हमारा यूआईटीएक्स्टफाल्ड प्रयोग होगा। बेहतर अभी तक, Mail.app खोलें। आप इसे अनइंस्टॉल नहीं कर सकते हैं, इसलिए मुझे पता है कि आपके पास यह है।

कहो "123 एल्म सेंट अल्पविराम फारगो अल्पविराम एन डी" मुझे क्या मिलेगा:।। 123 एल्म सेंट अल्पविराम फारगो अल्पविराम इंडी "

सुंदर मैं वास्तव में क्या कहा कोई बड़ी बात नहीं सही के पास यही था एक पाठ क्षेत्र/खोज पट्टी। एक UITextView में यह कोशिश की सुविधा देता है।

खुला एक नया ईमेल, और ईमेल के शरीर में जाते हैं। एक ही बात कहते हैं देता है।

कहो "123 एल्म सेंट अल्पविराम फारगो अल्पविराम एन डी " मुझे क्या मिलता है: 123 एल्म सेंट, फार्गो, एनडी"

यह लगता है कि लोड बेहतर है! तो मैं क्या जानना चाहता हूं, UITextView को टेक्स्ट फ़ील्ड की तुलना में विराम चिह्न और अन्य आदेशों के लिए बेहतर मान्यता क्यों मिलती है। यह केवल अल्पविराम तक सीमित नहीं है, यह पूरे स्पेक्ट्रम में चला जाता है।

क्या यह निर्दिष्ट करने का कोई तरीका है कि मैं किस प्रकार का टेक्स्ट निर्धारित करना चाहता हूं? क्या इसे बदलने का कोई तरीका है इसलिए मुझे टेक्स्ट फ़ील्ड में यह विराम चिह्न मान्यता मिलती है? या कोई मुझे कुछ दस्तावेज में इंगित कर सकता है जो कहता है कि यही कारण है कि वे अलग हैं और मैं पूरी तरह से खराब हूं। किसी भी तरह से, कुछ जवाब सहायक होंगे। अग्रिम में धन्यवाद।

अद्यतन मैं UITextField subclassed है और वैकल्पिक वाक्यांशों कि श्रुतलेख के साथ वापस आ रहा हो सकता है के लिए जाँच की है, लेकिन वहाँ नहीं हैं। बस मूल रूपांतरण मुझे मिलता है।

उत्तर

4

@Ricky से कुछ और पाठ क्षेत्र के साथ प्रयोग करना है, और का उपयोग कर कुछ जानकारी के बाद, मैं पता लगा क्या श्रुतलेख रोके हुए है। मैं returnKeyType को UIReturnKeySearch पर सेट कर रहा था। इसे किसी अन्य विकल्प में बदलने से मुझे वांछित परिणाम मिलते हैं। खोज में वापस बदलना और परिणाम पूर्ण पाठ परिणाम हैं। यह कहीं भी दस्तावेज नहीं है।

यह व्यवहार कहीं भी दस्तावेज नहीं है। मेरी सोच को चलाने के लिए @ रिकी के लिए धन्यवाद, भले ही यह 100% सही जवाब न हो। इससे मुझे इस मुद्दे के निचले भाग में मदद मिली।

+0

कोई समस्या नहीं ..;) – Ricky

1

मैंने Mail.app में सभी अलग-अलग क्षेत्रों पर परीक्षण किया है।

UITextFieldUISearchBar है अंदर वास्तव में आप क्या उल्लेख किया है की तरह है, यह किसी भी विराम चिह्न या शॉर्टकट एक पूरे शब्द में बदल देता है: - जिन कारणों से मैंने पाया है। मैं "डबल कॉमा" कह कर यह परीक्षण किया है और यह रूप में दिखाता है ,,

UITextView मेल शरीर पर वास्तव में क्या आप के साथ-साथ उल्लेख की तरह है।

मैं करने के लिए के लिए अन्य UITextField पर आगे का परीक्षण किया है:, प्रतिलिपि:, गुप्त प्रति: और विषय:। मुझे पता चला कि वे UITextView की तरह व्यवहार करते हैं। के रूप में "अल्पविराम" आदेश प्रदर्शित करता है,

मैं अनुस्मारक एप्लिकेशन खोला और मैं पर शीर्षक जो मेरा मानना ​​है कि यह एक UITextField है आदेश का परीक्षण किया।"अल्पविराम" आदेश भी प्रदर्शित करता है के रूप में,

मैं आगे कैलेंडर ऐप्लिकेशन पर परीक्षण किया और ईवेंट जोड़ने के लिए कोशिश कर रहा। मैंने शीर्षक और स्थान पर परीक्षण किया। उन दोनों के लिए, "अल्पविराम" आदेश भी प्रदर्शित करता है के रूप में,

तो, मुझे विश्वास है कि यह UITextView बनाम UITextField के बीच अंतर नहीं है। लेकिन यह विराम चिह्न या शॉर्टकट को के लिए UISearchBar के लिए बदलकर ऐप्पल इंजीनियर द्वारा किया गया एक निर्णय है। मुझे लगता है कि ऐसा इसलिए है क्योंकि जब हम खोज रहे होते हैं तो विराम चिह्न या शॉर्टकट शब्द अधिक समझ में नहीं आता है। जब हम कुछ खोज रहे हैं, तो हम आम तौर पर केवल कीवर्ड याद करते हैं। इसलिए, मेरा मानना ​​है कि ऐप्पल इंजीनियर खोज को जितना संभव हो उतना पूरा शब्द बनाने की कोशिश कर रहा है।

मुझे अभी तक मेरे दावे के लिए कोई आधिकारिक दस्तावेज नहीं मिला। जब मैं इसे मिला तो मैं इसे जोड़ दूंगा।

+0

क्योंकि आपके पास टू, सीसी, बीसीसी और विषय में टेक्स्ट की कई पंक्तियां हो सकती हैं, उन सभी की संभावना UITextViews है, जो मुझे पहले से मिली है जो विश्वास देता है। अनुस्मारक और कैलेंडर के लिए ही।मुझे नहीं लगता कि इस जवाब को अभी तक कुछ नया मिला है। –

2

मैंने इसे जांचने के लिए एक परीक्षण दोहन का निर्माण किया और पाया कि मुझे UITextInputTraitsprotocol में निर्धारित मानों के आधार पर अलग-अलग श्रुतलेख परिणाम मिलते हैं। विशेष रूप से:

myTextField.autocorrectionType = UITextAutocorrectionTypeYes; // or UITextAutocorrectionTypeNo 
myTextField.spellCheckingType = UITextSpellCheckingTypeYes; // or UITextSpellCheckingTypeNo 

UITextField के लिए श्रुतलेख के परिणामों को प्रभावित करती है। ध्यान दें कि दोनों UITextField और UITextView के लिए डिफ़ॉल्ट मान रहे हैं:

UITextAutocorrectionTypeDefault 
UITextSpellCheckingTypeDefault 

UITextInputTraits documentation इतना कहना नहीं है, लेकिन मैं यह संभव डिफ़ॉल्ट व्यवहार UITextField और UITextView या (अधिक होने की संभावना) के बीच भिन्न होता है लगता है कि स्वत: सुधार कुछ क्षेत्रों जैसे कि खोज बॉक्स, या यहां तक ​​कि (जैसा कि उनके जवाब में @ रिकी द्वारा उल्लिखित) पर बंद किया गया है कि ऐप डेवलपर ने उपयोगकर्ता को पेश करने से पहले परिणामों को बदलने के लिए चुना है।

आईओएस 7.1 के तहत परीक्षण, मैं "कोटा" रूपांतरण को "," UITextField और UITextView दोनों के लिए "" प्राप्त कर सकता हूं। साथ ही, ऑटो-सही चालू होने के साथ भी, मेरा उच्चारण का मतलब कभी-कभी मुझे यूआईटीएक्स्टफिल्ड और यूआईटीएक्स्टव्यू दोनों के लिए "एनडी" की बजाय "इंडी" मिला।

अद्यतन:

पूर्णता के लिए के लिए, नीचे एक काम कर परीक्षण दोहन कि "अल्पविराम" के रूपांतरण का समर्थन करता है "," दोनों UITextField और UITextView के लिए है। जैसा कि ओपी द्वारा अपने उत्तर में बताया गया है - इसे सुधारने के लिए ऑटो सुधार और वर्तनी जांच सेट करना आवश्यक नहीं है।

@implementation TestHarnessViewController { 
    UITextField *myTextField; 
    UITextView *myTextView; 
} 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    [self.view setBackgroundColor:[UIColor grayColor]]; 

    myTextField = [UITextField new]; 
    [myTextField setFrame:CGRectMake(10, 100, 283, 23)]; 
    myTextField.backgroundColor = [UIColor whiteColor]; 
    [self.view addSubview:myTextField]; 

    myTextView = [UITextView new]; 
    [myTextView setFrame:CGRectMake(10, 200, 283, 100)]; 
    [self.view addSubview:myTextView]; 
} 

- (void)keyboardWillShow:(NSNotification *)note { 
    // 
} 

- (void)keyboardWillHide:(NSNotification *)note { 
    // 
} 


- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { 
    return TRUE; 
} 

- (BOOL)textFieldShouldReturn:(UITextField *)textField { 
    return [textField resignFirstResponder]; 
} 

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text 
{ 
    return TRUE; 
} 

@end 
+0

तो क्या आप कह रहे हैं कि स्वत: सुधार के साथ एक टेक्स्ट फ़ील्ड टाइप और वर्तनी जांचने वाला टाइप YES पर सेट वास्तविक विराम चिह्नों को वापस करेगा? मैं इसे अपने सेटअप के साथ कोशिश कर रहा हूं और यह अभी भी मेरे मूल परिणामों को वापस कर रहा है। –

+0

हां - आईओएस 7.1 के तहत मेरे लिए मैं "कॉमा" को "," में परिवर्तित करने के लिए यूआईटीएक्स्टफिल्ड में श्रुतलेख प्राप्त कर सकता हूं। जब मैं कुछ घंटों में मौका मिलता हूं तो मैं सभी अनावश्यक सामानों को बाहर निकाल दूंगा और यहां अपना टेस्ट दोहन पोस्ट करूंगा। कोई बात नहीं - मैंने अभी देखा है कि आपने अपना उत्तर पोस्ट किया है जहां आपको श्रुतलेख ठीक तरह से काम कर रहा है। – Mike

+0

मुझे यह पता लगाने में भी मदद मिली कि आपका परीक्षण क्या हो रहा था और आपको टेक्स्ट फ़ील्ड/व्यू में सही परिणाम मिल रहे थे। मेरा अलग क्यों था, इसलिए मैंने अपनी सेटिंग्स को देखा और उन चीज़ों के साथ झुकाव शुरू कर दिया जो इससे प्रभावित हो सकते थे। सहायता के लिए धन्यवाद। –