我有一个UITextView,我想在它收到First Responder状态后显示UILabel,并在UITextView丢失时隐藏UILabel。
如何处理成为/失去第一响应者?或者,只有当UITextView有焦点时,才有更好的方法显示UILabel?
还有UITextFieldDelegate方法可供使用。
(BOOL)textFieldShouldEndEditing:(UITextField *)textField;
(void)textFieldDidEndEditing:(UITextField *)textField;
这些将在UITextField失去第一个响应程序状态之前和之后调用。
UIView是UIResponder的一个子类。当您的视图成为第一响应者时,它将发送一个-(BOOL)becomeFirstResponder
,当它丢失时,它会发送一个-(BOOL)resignFirstResponder
。您还可以在这两个事件之前从–(BOOL)canBecomeFirstResponder
和–(BOOL)canResignFirstResponder
执行一些处理。所有这些方法都是在UIResponder上定义的。
在所有情况下,假设你确实想成为(或辞职)第一响应者,你应该对这些消息返回YES。