如何从键盘在文本字段中仅输入四个值?

发布于 2024-12-12 12:04:50 字数 311 浏览 0 评论 0原文

我正在制作一个应用程序,我只想在其中输入数值。所以我选择数字键盘类型的键盘。现在我希望当用户单击文本字段并输入数值时,仅输入 0、1、2 和 3,而不输入其他任何内容。我该怎么做才能对文本字段的值应用限制?并且仅输入单个值而不是双值,即 11。

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { 

}

在此先感谢...

I am making an application in which i want to enter only numeric value. So i choose number pad type keyboard. Now i want that when user click on text filed and enter numeric value then enter only 0,1,2 and 3 not anything else. What i will do for that so i can apply restriction on text-field's value? And enter only single value not double value ie 11.

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { 

}

Thanks in advances...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

无言温柔 2024-12-19 12:04:50

如果值受到限制,您应该尝试使用选择器视图或滑块作为字段的输入视图。

您将如何向用户传达数字键盘上 60% 的按钮可见、启用、可点击,但不执行任何操作的信息?

If rhe values are that restricted, you should try using a picker view or slider as the input view of the field.

How are you going to communicate to the user that 60% of the buttons on the numeric keypad are visible, enabled, tappable, but will do nothing?

两人的回忆 2024-12-19 12:04:50

然后,您可以在 textField:shouldChangeCharactersInRange:replacementString: 中检查用户刚刚输入的字符是否有效,对于任何无效字符返回 NO。

这是限制 UITextField 大小的代码示例:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
  if ([[textField text] length] + [string length] - range.length > MAX_LENGTH) {
    return NO;
  } else {
    return YES; 
  }
}

另请参阅

in textField:shouldChangeCharactersInRange:replacementString: You can then check the character the user just entered for validity, returning NO for any invalid characters.

Here is a code sample to limit the size of a UITextField:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
  if ([[textField text] length] + [string length] - range.length > MAX_LENGTH) {
    return NO;
  } else {
    return YES; 
  }
}

also see this

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文