不允许使用点“.” 双击 UITextField 的空格键

Roh*_*han 6 iphone uitextfield ios swift

我在我的应用程序中面临问题,当我按空格键两次时,“.”(点)会添加到文本字段中。我不想允许点“。” 双击空格键。

注意:我知道这是 iOS 中 textField 的默认行为。

我参考了之前的答案iPhone:禁用“双击空格键”。捷径?但它适用于textView,不适用于textField。

我没有更换这条线

textView.selectedRange = NSMakeRange(range.location + 1, 0)
Run Code Online (Sandbox Code Playgroud)

Iyy*_*avi 0

我有同样的问题,然后使用下面的委托方法,它得到了解决,使用这个代码点不显示在文本字段中,

SWIFT代码:

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
        let newString = (textField.text! as NSString).stringByReplacingCharactersInRange(range, withString: string) as? NSString

        let arrayOfString = newString?.componentsSeparatedByString(".");
        if arrayOfString?.count > 1
        {
            return false
        }

        return true
    }
Run Code Online (Sandbox Code Playgroud)

目标C代码:

 -(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    NSString *newString1 = [textField.text stringByReplacingCharactersInRange:range withString:string];
    NSArray  *arrayOfString1 = [newString1 componentsSeparatedByString:@"."];

    if ([arrayOfString1 count] > 1 )
        return NO;

    return YES;
}
Run Code Online (Sandbox Code Playgroud)

它对我有用,希望有帮助

  • 请仅用快速答案回答快速问题。 (2认同)