我有一个使用UISearchBar的应用程序。一切正常,只需要搜索文本,例如,蓝色。 示例:如果您进入UISearchBar,“cod”将出现,例如,单词“xcode”(因为“cod”包含),我需要“cod”着色为蓝色和“x”和“e”仍然是原创的。抱歉我的英文。
我的搜索栏代码:
-(void)searchBar:(UISearchBar*)searchBar textDidChange:(NSString*)text
{
if(text.length == 0)
{
isFiltered = FALSE;
}
else
{
isFiltered = true;
filteredTableData = [[NSMutableArray alloc] init];
for (Slova* slova in self.slovoArray)
{
NSRange nameRange = [slova.slovo rangeOfString:text options:NSCaseInsensitiveSearch|NSDiacriticInsensitiveSearch|NSWidthInsensitiveSearch ];
if(nameRange.location != NSNotFound)
{
[filteredTableData addObject:slova];
}
}
}
[self.tableView reloadData];
}
答案 0 :(得分:1)
除非你继承搜索栏并用UITextView替换它的UITextField,然后将UITextView子类化为搜索栏的文本字段,否则这是不可能的。这很麻烦,所以如果你不是绝对需要它,你就不应该花时间去实现它。
我知道它并不是您正在寻找的东西,但您可以像这样更改UITextField中所有文字的颜色:
[[UITextField appearanceWhenContainedIn:[UISearchBar class], nil] setTextColor:[UIColor redColor]];