【问题标题】:iOS: can we stop user to switch between alphabets and number keypad for iPadiOS:我们可以阻止用户在 iPad 的字母和数字键盘之间切换吗
【发布时间】:2015-04-09 01:39:46
【问题描述】:

我正在为 iPad 开发一个应用程序。

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

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

【问题讨论】:

    标签: ios ipad


    【解决方案1】:

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

    #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;
    }
    

    【讨论】:

    • 是的,我正在使用此代码输入数值。但我想阻止用户与键盘进行不必要的交互。
    猜你喜欢
    • 2013-12-04
    • 2016-10-27
    • 2013-03-14
    • 1970-01-01
    • 1970-01-01
    • 2017-05-11
    • 1970-01-01
    • 1970-01-01
    • 2012-07-23
    相关资源
    最近更新 更多