我在MyCustomUIView类中有一个UITextField,当UITextField失去焦点时,我想隐藏该字段并显示其他内容.
UITextField的委托通过IB设置为MyCustomUIView,并且我还在MyCustomUIView中指向IBAction方法的“已完成退出”和“编辑结束”事件.
@interface MyCustomUIView : UIView { IBOutlet UITextField *myTextField; } -(IBAction)textFieldLostFocus:(UITextField *)textField; @end
然而,这些事件都不会被触发.你如何陷阱/寻找这个事件?
UITextField的委托设置为MyCustomUIView,所以我收到textFieldShouldReturn消息,以完成后关闭键盘.
但是我也感兴趣的是,当用户按下屏幕上的其他区域(例如另一个控件或只是空白区域)并且文本字段已失去焦点时,
解决方法
我相信您需要将您的视图指定为UITextField代理,如下所示:
@interface MyCustomUIView : UIView <UITextFieldDelegate> {
另外一个好处是,当您按下“完成”或返回按钮时,您将如何使键盘消失,这取决于您如何设置该属性:
- (BOOL)textFieldShouldReturn:(UITextField *)theTextField { //This line dismisses the keyboard. [theTextField resignFirstResponder]; //Your view manipulation here if you moved the view up due to the keyboard etc. return YES; }