将iPad键盘锁定为数字格式

时间:2014-05-10 21:16:00

标签: ios objective-c xcode interface-builder

这可能是一个简单的问题,但我一直无法找到答案。我有一个应用程序,我想阻止用户输入任何数字值。

在界面构建器中,我可以设置键盘以显示数字,但用户仍然可以在运行时将其切换为字母。我希望能够阻止用户这样做。有谁知道如何防止字母键盘?

谢谢!

1 个答案:

答案 0 :(得分:0)

也许没有必要修改键盘。建议使用A,您可以修改输入。一旦用户注意到,该字母输入没有做任何事情,她可能会停止尝试。

这将过滤除数字以外的所有数据:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range 
    replacementString:(NSString *)string 
{
  NSString *numbersOnly = [[string componentsSeparatedByCharactersInSet:
     [[NSCharacterSet decimalDigitCharacterSet] invertedSet]]
     componentsJoinedByString:@""];
  return [string isEqualToString:numbersOnly];
}