我从UISearchBar得到了奇怪的行为。当我在UISearchBar中按下更多那个空格时,它会自动完全停止“。”在搜索栏文本中。我不明白为什么会这样。这是我的代码,
NSString *str = [searchBar.text stringByTrimmingCharactersInSet:
[NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSLog(@"%@",searchBar.text );
我按空格然后按f然后按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;