【问题标题】:Swift: Disable symbols on Phone padSwift:禁用电话板上的符号
【发布时间】:2015-01-12 16:56:05
【问题描述】:

我正在尝试以编程方式或从情节提要禁用电话板上的符号(+、*、#)。我一直在网上搜索有用的资源,但没有成功。

有没有更好的方法来完成这项工作?

编辑

我正在使用一个 UITextField,我已将其键盘类型设置为 Phone pad。

【问题讨论】:

  • 提供更多上下文。这是给UITextField 的吗?您是否将键盘类型设置为“PhonePad”?请改用“数字键盘”。
  • 您使用的是文本视图还是文本字段?您是否尝试过使用shouldChangeCharactersInRange: 来防止输入这些字符?
  • @rmaddy 我已经编辑了我的帖子。请看一下。
  • @LyndseyScott 我已经编辑了我的帖子。请看一下。
  • @rmaddy 数字键盘有字母,但我不想有字母或字母。我只需要数字,这意味着我必须使用不带符号的电话键盘。

标签: ios swift uikeyboard


【解决方案1】:

您正在使用“Phone Pad”键盘,但不希望使用 Phone Pad 符号。解决方法很简单——不要使用“Phone Pad”键盘。请改用“数字键盘”键盘。

请记住,用户可以使用外部键盘,也可以将文本粘贴到文本字段中。所以你不能依靠键盘来确保只有特定的字符被输入到字段中。

您还必须通过实施适当的UITextFieldDelegate 方法textField:shouldChangeCharactersInRange:replacementString: 来进行适当的验证。

【讨论】:

  • 数字键盘有字母,但我不想有字母或字母,我只需要数字,这意味着我必须使用没有符号的电话键盘。
  • 数字键盘显示数字下方的字母,但用户无法通过键盘输入这些字母。这比使用带有您不想要的键的电话板要好得多。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多