【问题标题】:iOS hide keyboard on touch textfield swift 2iOS在触摸文本字段swift 2上隐藏键盘
【发布时间】:2015-12-01 16:44:26
【问题描述】:

如果用户单击文本字段,我想隐藏键盘。有人知道如何在 swift 2 中做到这一点吗?

【问题讨论】:

  • 我不明白你的想法。您不希望用户选择您的文本字段吗?
  • 它应该由用户选择,但我不想显示键盘。我想显示一个选择器,而不是键盘。我知道如何用按钮做到这一点,但我想要一个文本字段,以便我可以将选择器的值放在文本字段中
  • @Philipp 按钮仍然可能是更好的选择,因为您可以在从选择器中选择某些内容后轻松更改按钮标题。覆盖文本字段的默认行为不是一个好主意,但如果您仍想这样做,请考虑在文本字段上使用 inputView 属性。
  • 我不认为这是重复的@NimitParekh,Philipp 不希望出现 textField,他希望出现其他东西而不是键盘。

标签: ios swift2


【解决方案1】:

确保在此UITextFieldDelegate 方法中设置文本字段委托并返回false

func textFieldShouldBeginEditing(textField: UITextField) -> Bool {
    return false
}

这将阻止键盘显示。您也可以在该方法中放置代码以打开选择器。

【讨论】:

  • 是的,当然。这让它更简单。
【解决方案2】:

在屏幕上显示文本字段并不意味着只有一个文本字段。您可以将文本字段作为子视图,并禁用用户交互。然后,添加一个透明按钮作为具有相同框架的兄弟视图(确保它在前面)。当点击按钮时,从用户的角度来看是点击文本字段,您可以显示您的选择器。

文本字段还允许您设置其inputView,从而直接支持显示选择器视图。

【讨论】:

  • 这不是很优雅。必须有更好的方法。
  • @NicolasMiari 这是我添加的直接支持方式,只需要获取链接。多视图方式可能非常有效,具体取决于所需的 UI 交互。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-17
  • 1970-01-01
  • 2016-05-30
  • 1970-01-01
  • 1970-01-01
  • 2021-05-20
相关资源
最近更新 更多