UISearchBar - 为搜索文本着色

时间:2015-01-10 19:50:08

标签: xcode search uisearchbar

我有一个使用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];
}

1 个答案:

答案 0 :(得分:1)

除非你继承搜索栏并用UITextView替换它的UITextField,然后将UITextView子类化为搜索栏的文本字段,否则这是不可能的。这很麻烦,所以如果你不是绝对需要它,你就不应该花时间去实现它。

我知道它并不是您正在寻找的东西,但您可以像这样更改UITextField中所有文字的颜色:

[[UITextField appearanceWhenContainedIn:[UISearchBar class], nil] setTextColor:[UIColor redColor]];