禁用 iOS 键盘中的空格键

Disable spacebar in iOS keyboard

在我的应用程序中,我有一个接受有限数量字符的文本字段,因此不希望用户能够在字符 if/when 之间添加 space 他们按下space吧。相反,我希望 spacebar 没有响应或执行另一个函数,如大写而不是添加 space.

有办法吗?

使用下面的 UITextField 委托方法并禁止 space 键。这是在 Objective-C.

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
    if ( [string isEqualToString:@" "] ){
        return NO;
    }
    else {
        return YES;
    }
}

请按照以下代码识别空格键。

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    if ( [string isEqualToString:@" "] && range.length==0)
    {
        return NO;
    }
    else 
    {
        return YES;
    }
}

在Swift

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
    if string == " " {
        return false
    } else {
        return true
    }
}