添加多个空格后,UISearchBar会完全停止

时间:2012-07-30 11:19:39

标签: iphone ios uitextfield uisearchbar

我从UISearchBar得到了奇怪的行为。当我在UISearchBar中按下更多那个空格时,它会自动完全停止“。”在搜索栏文本中。我不明白为什么会这样。这是我的代码,

 NSString *str = [searchBar.text stringByTrimmingCharactersInSet:
                 [NSCharacterSet whitespaceAndNewlineCharacterSet]];


NSLog(@"%@",searchBar.text );

我按空格然后按f然后按2次空间并完全停止。请帮我。 提前谢谢。

2 个答案:

答案 0 :(得分:2)

这是iOS的属性,而不是UISearchBar元素。

可配置为“'。'快捷方式“一般 - > iOS的“设置”部分中的键盘。它的描述是:“双击空格键会插入一个句点后跟一个空格。”

至于以编程方式删除句点/句号,我想你可以用正则表达式做到这一点,但我不推荐它。由于该功能是键盘用户首选项的一部分,因此无论您使用何种应用程序,它都会起到相同的作用。这有点像将用户输入的所有文本更改为大写,他们可能不希望这样(或者他们可能用于双击移位),因此您的应用程序变得混乱且难以使用。

我会说保持原样。

答案 1 :(得分:1)

如果你真的想要删除自动添加句号,

对于UISearchBar,你可以覆盖,

- (BOOL)searchBar:(UISearchBar *)searchBar shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {

    if ([text isEqualToString:@". "]) {
        return NO;
    }
}

对于UITextField,您可以执行相同操作,但会覆盖以下内容,

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string;