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:禁用在文本字段(或文本视图)中自动创建点 (.)的主要内容,如果未能解决你的问题,请参考以下文章

导航到另一个视图 iPhone sdk?

JQuery Mobile:单击文本字段时如何禁用默认键盘?

如何在 iPhone SDK 中使 tableviewcell 文本在触摸时可编辑?

如何在 iPhone SDK 的文本字段的文本中检测空格和特殊字符,如 :、?、`、~ 等?

滚动视图 iPhone 内的文本字段

禁用 iPhone 中键盘的方向