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