禁用iOS键盘中的空格键

禁用iOS键盘中的空格键,ios,uikeyboard,Ios,Uikeyboard,在我的应用程序中,我有一个文本字段,可以接受有限数量的字符,因此不希望用户在按下空格键时能够在字符之间添加空格。相反,我希望空格键是无响应的,或者执行另一个功能,如Capitalize,而不是添加空格 有没有办法做到这一点?使用UITextField的bellow delegate方法并禁止空格键。这是目标C - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replac

在我的应用程序中,我有一个文本字段,可以接受有限数量的字符,因此不希望用户在按下空格键时能够在字符之间添加空格。相反,我希望空格键是无响应的,或者执行另一个功能,如Capitalize,而不是添加空格


有没有办法做到这一点?

使用UITextField的bellow delegate方法并禁止空格键。这是目标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
    }
}

检查这是一个老问题。使用emailField类型的键盘,它没有space@sasquatch
UIKeyboardTypeEmailAddress
中有空格