iPhone SDK:禁用在文本字段(或文本视图)中自动创建点()
我已禁用文本字段的自动更正类型, 它不显示任何其他自动校正 但当我按两次空格键时,它仍然会自动创建一个点(.) 比如说,, 如果我写“test”并按空格键两次, 它会自动变为“测试” 有人知道如何禁用此功能吗iPhone SDK:禁用在文本字段(或文本视图)中自动创建点(),iphone,cocoa-touch,autocomplete,sdk,autocorrect,Iphone,Cocoa Touch,Autocomplete,Sdk,Autocorrect,我已禁用文本字段的自动更正类型, 它不显示任何其他自动校正 但当我按两次空格键时,它仍然会自动创建一个点(.) 比如说,, 如果我写“test”并按空格键两次, 它会自动变为“测试” 有人知道如何禁用此功能吗 非常感谢。如果您连接一个文本字段委托,然后实现以下方法: -(BOOL)shouldReplaceCharactersInRange:(NSRange)aRage withString:(NSString *)aString 您可以检查aString中是否有自动更正的字符串(可能是@“)
非常感谢。如果您连接一个文本字段委托,然后实现以下方法:
-(BOOL)shouldReplaceCharactersInRange:(NSRange)aRage withString:(NSString *)aString
您可以检查aString中是否有自动更正的字符串(可能是@“),然后返回否。这将不允许将@”替换为@“。我找到了一个解决方案-它使用UITextFieldTextDidChangeNotification,因为这是在应用自动更正后发生的
-(void)viewDidLoad{
…
[[NSNotificationCenter defaultCenter]添加观察者:self
选择器:@selector(textfielddichange:)
名称:UITextFieldTextDidChangeNotification对象:tfTitle];
}
-(void)textfielddichange:(NSNotification*)通知化
{
如果([textField.text rangeOfString:@“.”).length{
//更改文本
textField.text=[textField.text stringByReplacingOccurrencesOfString:@.“with string:@]”;
}
}
嗨,Bisbo,我尝试了你的建议,发现自动更正(将空格双击到句点)发生在调用此方法之后,而更改不会调用此方法进行检查。无论如何,谢谢你,如果你有任何其他想法,请告诉我。啊,哦,好吧,这只是一个想法:-)如果你检查双空格,看看那个:你的问题得到回答了吗?不完全是为了禁用该功能,但我找到了一种解决方法,我在下面发布了。但是假设我输入了一个“.”而不是“.”。这难道不会造成问题吗