我正在开发适用于iPad的应用程序。
在某些情况下,我只允许用户输入数字。但是用户可以将键盘从数字切换到我不想要的字母。我正在停止用户使用字母表,但他可以在键盘之间切换。所以我的问题是,我可以禁用字母和数字键盘选项之间的切换。这样我就停止了用户交互。
通过应用键盘类型numericTextField.keyboardType = UIKeyboardTypeNumberPad;
,它显示数字键盘,但用户可以通过按" ABC"来切换键盘。按钮。
答案 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;
}