iOS:我们可以阻止用户在iPad的字母和数字键盘之间切换

时间:2015-02-09 10:31:59

标签: ios ipad

我正在开发适用于iPad的应用程序。

在某些情况下,我只允许用户输入数字。但是用户可以将键盘从数字切换到我不想要的字母。我正在停止用户使用字母表,但他可以在键盘之间切换。所以我的问题是,我可以禁用字母和数字键盘选项之间的切换。这样我就停止了用户交互。

通过应用键盘类型numericTextField.keyboardType = UIKeyboardTypeNumberPad;,它显示数字键盘,但用户可以通过按" ABC"来切换键盘。按钮。

1 个答案:

答案 0 :(得分:2)

您无法阻止用户切换键盘,但您可以允许用户使用以下代码仅编写数字。如果用户按下其他关键字,则您的文本字段不会接受。根据您的需要更改宏。

#define ACCEPTABLE_CHARACTERS @"0123456789"

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    if (textField == yourTextfile)
    {
        NSCharacterSet *cs = [[NSCharacterSet characterSetWithCharactersInString:ACCEPTABLE_CHARACTERS] invertedSet];
        NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
        return [string isEqualToString:filtered];
    }
    return YES;
}