如何从 UITextField 中移除焦点?

Che*_*ong 6 objective-c uitextfield ios

我在任何地方都看到这个问题被问了一百万次,但没有一个答案对我有用。

我需要从 UITextField 中移除焦点。这意味着我需要光标消失(并且键盘关闭)。

我在互联网上看到的解决方案是[textfield resignFirstResponder]or [textfield endEditing:YES],它能够隐藏键盘,但不会从 UITextField 中移除焦点(即,尽管键盘已关闭,但光标仍会在 UITextField 内愉快地闪烁)。

问题是当用户点击 UITextField 并且事件 didBeginEditing 被触发时,我需要获取事件。每次触发该事件时,或者更一般地说,每次用户点击 UITextField 时,我都会做一些事情。但是,如果焦点没有完全从 UITextField 中移除,则即使在我调用resignFirstResponder或之后也无法再次触发该事件endEditing:YES

我怎样才能做到这一点?谢谢。

小智 5

您可以将光标颜色设为清晰颜色

  textfeild.tintColor = UIColor.clearColor()
Run Code Online (Sandbox Code Playgroud)

如果您只想关闭键盘,那么

    textfeild.resignFirstResponder()
Run Code Online (Sandbox Code Playgroud)

将关闭键盘,当您想要再次聚焦时使用

 textfeild.becomeFirstResponder()
Run Code Online (Sandbox Code Playgroud)