iPhone SDK:禁用自动创建点的文本字段(或的TextView)的()。(iPhone SDK

2019-07-21 04:39发布

我已经为我的文本字段禁用自动矫正的类别,它不显示任何其他自动校正,

但是当我按下空格键两次,仍然会自动创建一个点(。)。

例如,如果我写的“测试”,然后按空格键两次,它会自动变为“测试”。

任何人都知道如何禁用此功能?

非常感谢。

Answer 1:

我找到了一个解决方案 - 它使用UITextFieldTextDidChangeNotification因为这个自动校正应用于后发生。

  1. 设置委托文本字段
  2. 设置通知

    - (void) viewDidLoad {
    ...
    [[NSNotificationCenter defaultCenter] addObserver:self
    selector:@selector(textFieldDidChange:)
    name:UITextFieldTextDidChangeNotification object:tfTitle];
    }

  3. 然后,通知处理程序
    - (void)textFieldDidChange:(NSNotification *)aNotification
    {
    if ( [textField.text rangeOfString:@". "].length ) {
    // Change text
    textField.text = [textField.text stringByReplacingOccurrencesOfString:@". " withString:@" "];
    }
    }



Answer 2:

或许,如果你挂钩的文本字段的委托,然后实现下面的方法:

-(BOOL)shouldReplaceCharactersInRange:(NSRange)aRage withString:(NSString *)aString

您可以检查ASTRING的自动校正的字符串(也许@“”),然后就返回NO。 希望这将不允许@“‘到被替换@’。”



文章来源: iPhone SDK: disable auto creation of dot (.) in text field (or textview)