की पुष्टि करें यह असंभव प्रतीत होता है, लेकिन हो सकता है कि किसी और को भी वही समस्या हो।यूआईटीएक्स्टव्यू ऑटो-पूर्ण
क्या मेरे लिए प्रोग्रामिक रूप से स्वत: पूर्ण रूप से स्वीकार करना संभव है, या किसी भी तरह से सुझाए गए सुझाए गए शब्द को प्राप्त करें? मेरी समस्या यह है कि मैं रिटर्न/बैकस्पेस कीस्ट्रोक को कैप्चर कर रहा हूं और फिर फोकस को दूसरे टेक्स्टव्यू पर ले जाउंगा। जब प्रवेश/बैकस्पेस मारा जाता है, तो टेक्स्टव्यू ऑटो-सुझाए गए शब्द को अनदेखा कर देगा। ऐसा लगता है कि हिट स्पेस/डॉट (और नई पंक्ति के लिए वापसी) द्वारा स्वत: पूर्णता स्वीकार करना संभव है। इस कोड के साथ:
- (BOOL) textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range
replacementText:(NSString *)text {
NSRange textViewRange = [textView selectedRange];
// Handle newrow and backspace.
if(([text length] == 0) && (textViewRange.location== 0) && textViewRange.length==0){
// BACKSPACE KEYSTROKE
[delegate doSomethingWhenBackspace];
return NO;
}else if ([text isEqualToString:@"\n"]){
// RETURN KEYSTROKE
[delegate doSomethingWhenReturn];
return NO;
}
return YES;
}
मैं प्रोग्राम के रूप में "अंतरिक्ष" जोड़ने के लिए जब वापस कुंजी मारा है, लेकिन वह भी स्वत: पूर्ण शब्द पर ध्यान नहीं देता की कोशिश की।
else if ([text isEqualToString:@"\n"]){
// Tryin to accept autocomplete with no result.
textview.text = [textview.text stringByAppendingString:@" "];
// RETURN KEYSTROKE
[delegate doSomethingWhenReturn];
return NO;
}
कोई सुझाव?
यह इसे पूरा करने के लिए वास्तव में एक भयानक तरीका है। UIKit आपके लिए स्वत: पूर्ण कार्य करने के बजाय 'UITextView' /' UITextField' की 'firstResponder' गुणों को बदलें। – cbowns