哪个事件处理对象成为/失去第一响应者状态?

kol*_*nko 2 cocoa-touch ios

我有一个UITextView,我想在收到First Responder状态后显示UILabel,并在UITextView丢失时隐藏UILabel.

什么行动处理成为/失去第一响应者?或者也许只有在UITextView具有焦点时才有更好的方式来显示UILabel?

Rog*_*Rog 5

UIView是UIResponder的子类.当您的视图-(BOOL)becomeFirstResponder成为第一响应者并且-(BOOL)resignFirstResponder丢失它时,您的视图将被发送.你也可以–(BOOL)canBecomeFirstResponder之前的这两个事件之前执行一些处理–(BOOL)canResignFirstResponder.所有这些方法都在UIResponder上定义.

在所有情况下,假设您确实想要成为(或辞职)第一响应者,您应该对这些消息返回YES.


mdu*_*pls 5

还有可用的 UITextFieldDelegate 方法。

(BOOL)textFieldShouldEndEditing:(UITextField *)textField;
(void)textFieldDidEndEditing:(UITextField *)textField;
Run Code Online (Sandbox Code Playgroud)

这些将在 UITextField 失去第一响应者状态之前和之后调用。