UITextView 中的自定义自动完成
Posted
技术标签:
【中文标题】UITextView 中的自定义自动完成【英文标题】:Customized autocompletion in UITextView 【发布时间】:2013-01-10 06:11:27 【问题描述】:我想为 UITextView 做自定义的自动补全...
例如:
If the user starts to type "Busines" I would like to suggest "Business1", "Business2", , so that the user can select any one of the 2 suggestions or choose to type a new one.
所有自定义单词建议都将在数组中...
我怎样才能做到这一点??
completionsForPartialWordRange:inString:language:
是我可以使用的东西吗?如何传递数组中的值???
【问题讨论】:
你是如何加载你的数组的? 【参考方案1】:你可以试试这个代码。
- (void)searchAutocompleteEntriesWithSubstring:(NSString *)substring
[autocomplete_array removeAllObjects];
for(int i=0;i<[your_main_array count];i++)
NSString *curString = [your_main_array objectAtIndex:i];
curString = [curString lowercaseString];
substring = [substring lowercaseString];
if ([curString rangeOfString:substring].location == NSNotFound)
else
[autocomplete_array addObject:curString]
[autocompletedisplayTableView reloadData];
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
if( textView == your_TextView)
[your_TextView resignFirstResponder];
autocompletedisplayTableView.hidden = NO;
NSString *substring = [NSString stringWithString:your_TextView.text];
substring = [substring stringByReplacingCharactersInRange:range withString:string];
[self searchAutocompleteEntriesWithSubstring:substring];
return YES;
your_main_array :将是您将从 Web 服务加载的原始数组。 autocomplete_array :将是搜索过程完成后您将获得的数组。
当用户搜索时,您必须将 autocomplete_array 传递给您的 UITableView
【讨论】:
以上是关于UITextView 中的自定义自动完成的主要内容,如果未能解决你的问题,请参考以下文章