在iOS键盘中禁用空格键

3
在我的应用程序中,我有一个文本字段,它接受有限数量的字符,因此不希望用户在按下空格键时能够在字符之间添加空格。相反,我希望空格键无响应或执行其他功能,例如大写字母,而不是添加空格。
有没有方法可以实现这个功能?

1
检查 https://dev59.com/nkjSa4cB1Zd3GeqPJ_nW - Rashmi Ranjan mallick
1
这是一个老问题。 - Rashmi Ranjan mallick
使用类型为emailField的键盘,它没有空格。 - saurabh
@sasquatch UIKeyboardTypeEmailAddress 中确实有一个空格。 - h3dkandi
3个回答

7

在Swift中

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

3

使用UITextField的以下委托方法,禁用空格键。这是Objective-C语言。

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

2
请使用以下代码来识别空格键。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    if ( [string isEqualToString:@" "] && range.length==0)
    {
        return NO;
    }
    else 
    {
        return YES;
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接