Ios UISearchbar上的字符和光标位置

Ios UISearchbar上的字符和光标位置,ios,uisearchbar,Ios,Uisearchbar,在我试图实现的情况下,如果用户输入文本的第一个字符为*,则系统应自动添加结尾*字符,光标应置于两者之间**,以便用户在特殊字符之间键入 我尝试了以下代码,但光标总是放在end*字符之后 - (BOOL)searchBar:(UISearchBar *)searchBar shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text { if ([text hasPrefix:@"*"]) {

在我试图实现的情况下,如果用户输入文本的第一个字符为*,则系统应自动添加结尾*字符,光标应置于两者之间**,以便用户在特殊字符之间键入

我尝试了以下代码,但光标总是放在end*字符之后

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

    return YES;
}

可以在UISearchBar上处理光标的位置吗?

这里您要做的是获取当前文本,附加一个
(不是*),对结果不做任何处理,并将搜索栏的文本设置为之前的文本。这是如何工作的

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

    return YES;
}

好吧,我编辑了。我只是在玩不同的角色。