UISearchbar上的字符和光标位置

时间:2013-10-14 19:04:49

标签: ios uisearchbar

在尝试实现该功能时,如果用户输入文本的第一个字符为*,则系统应自动添加结束*字符,并且光标应放在两个* *之间,供用户输入特殊字符。

我尝试了以下代码,但光标始终位于结束*字符之后。

- (BOOL)searchBar:(UISearchBar *)searchBar shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
    if ([text hasPrefix:@"*"])
    {
        [text stringByAppendingString:@"*"];
        self.searchBar.text = text;
    }

    return YES;
}

是否可以在UISearchBar上处理光标位置?

1 个答案:

答案 0 :(得分:0)

你在这里做的是获取当前文本,附加"(不是*),对结果不做任何操作,并将搜索栏的文本设置为之前的文本。这是如何工作的?

- (BOOL)searchBar:(UISearchBar *)searchBar shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
    if ([text hasPrefix:@"\""])
    {
        searchBar.text = [text stringByAppendingString:@"\""];
    }

    return YES;
}