iPhone SDK:禁用在文本字段(或文本视图)中自动创建点 (.)
Posted
技术标签:
【中文标题】iPhone SDK:禁用在文本字段(或文本视图)中自动创建点 (.)【英文标题】:iPhone SDK: disable auto creation of dot (.) in text field (or textview) 【发布时间】:2010-12-04 10:10:58 【问题描述】:我为我的文本字段禁用了自动更正类型, 并且它没有显示任何其他自动更正,
但当我按两次空格键时,它仍然会自动创建一个点 (.)。
例如, 如果我写“测试”并按两次空格键, 它会自动变为“测试”。
有人知道如何禁用此功能吗?
非常感谢。
【问题讨论】:
您的问题得到解答了吗? 不完全禁用该功能,但我找到了一种解决方法,我在下面发布了。 【参考方案1】:我找到了一种解决方案 - 它使用 UITextFieldTextDidChangeNotification,因为这发生在自动更正应用之后。
-
为文本字段设置委托
设置通知
- (void) viewDidLoad
...
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(textFieldDidChange:)
name:UITextFieldTextDidChangeNotification object:tfTitle];
然后,通知处理程序- (void)textFieldDidChange:(NSNotification *)aNotification
if ( [textField.text rangeOfString:@". "].length )
// Change text
textField.text = [textField.text stringByReplacingOccurrencesOfString:@". " withString:@" "];
【讨论】:
但是可以说我确实输入了“.”而不是“”。这不会在那里产生问题【参考方案2】:也许如果你连接一个文本字段委托,然后实现以下方法:
-(BOOL)shouldReplaceCharactersInRange:(NSRange)aRage withString:(NSString *)aString
您可以检查 aString 是否有自动更正的字符串(可能是 @"."),然后返回 NO。希望这不会允许 @" " 被替换为 @"。"
【讨论】:
你好Bisbo,我试过你的建议,发现调用这个方法后会发生自动更正(双击空格进入句点),并且更改没有调用这个方法检查。无论如何,谢谢,如果您有任何其他想法,请告诉我。 啊,好吧,只是一个想法:-) 如果您检查是否有双空格,则可以使用,请参阅:***.com/questions/2576561/…以上是关于iPhone SDK:禁用在文本字段(或文本视图)中自动创建点 (.)的主要内容,如果未能解决你的问题,请参考以下文章
JQuery Mobile:单击文本字段时如何禁用默认键盘?
如何在 iPhone SDK 中使 tableviewcell 文本在触摸时可编辑?