【问题标题】:How to make keyboard not to popup on clicking of a TextField in swift?如何使键盘在快速单击 TextField 时不弹出?
【发布时间】:2017-03-29 00:24:48
【问题描述】:

我正在尝试从 UIbuttons 将数据输入文本字段,但是当用户单击文本字段时,键盘弹出窗口并且如果我禁用用户交互文本字段,它将不允许我使用 deleteBackward() 方法,使用时用户想要删除文本字段的一个字符。

请帮忙。

【问题讨论】:

  • 设置可编辑的假而不是用户交互
  • 以及如何做到这一点,因为我使用的是 swift 2.2 并且它没有该属性到文本字段

标签: ios objective-c iphone swift uitextfield


【解决方案1】:

您应该创建文本字段的子类并覆盖canBecomeFirstResponder 方法。 要不显示键盘,请从 canBecomeFirstResponder 方法返回 false。

更新

如果您希望在触摸时将光标放在文本字段中,请将空白视图分配给输入视图。

textField.inputView = UIView();

【讨论】:

  • 谢谢你。当我这样做时,我不会将光标放在文本字段上,也不能输入任何内容。
  • @pramodaravind 这很明显。如果你的键盘不可见,你怎么能打字?你不想要键盘吧?此代码将隐藏键盘,因为键盘不存在,您无法键入。还是我误解了?请解释一下。
  • 我正在尝试从 UIbuttons 将值输入到文本字段,并且只有文本字段应该接受输入。
  • @pramodaravind 我已经更新了这个答案。祝你好运,试试看。
【解决方案2】:

你为什么不使用 deleteBackward() 而不是只设置没有最后一个字符的文本?这样,您只需禁用 userInteraction 即可获得完全相同的结果。

除此之外,您可以考虑使用 UILabel,而不是 UITextField

【讨论】:

    【解决方案3】:

    输入 textField.resignFirstResponder() 它将停止弹出键盘

    【讨论】:

      猜你喜欢
      • 2019-06-08
      • 1970-01-01
      • 2016-06-14
      • 1970-01-01
      • 1970-01-01
      • 2021-05-04
      • 1970-01-01
      • 2018-04-27
      • 2021-08-04
      相关资源
      最近更新 更多