1

如何在 UITextFiekd 中监听 unfocus 事件?

我将创建一种在我的文本字段失去焦点时激活的处理程序。例如,如果我单击应用程序的另一部分,该监听会自动在 UITextField 中注册文本。

谢谢你。

4

3 回答 3

2

当文本字段辞去第一响应者的职务时,会有一个UITextFieldTextDidEndEditingNotification 。您还可以使用委托方法 textFieldDidEndEditing:

于 2011-04-07T10:14:57.903 回答
0

您可以将自定义通知添加到默认通知中心单例。

首先在您的文本字段 superviews 视图控制器中设置一个方法,该方法包含您希望在文本字段消失时执行的代码:

-(void)textFieldLostFocus{
    //do some work here... 
}

然后将您的通知观察者添加到默认通知中心。(你可以把这个放进去viewDidLoad

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textFieldLostFocus) 
                                                 name:@"TextFieldDidLoseFocus" object:nil];

然后在 UITextfield 的 superviews 视图控制器中添加:

-(void)viewDidDisappear:(BOOL)animated{
    [[NSNotificationCenter defaultCenter] postNotificationName:@"TextFieldDidLoseFocus" object:self userInfo:nil];
}

当视图消失时,通知中心将调用您的自定义方法。

于 2011-04-07T10:26:02.817 回答
0

两步。首先,定义一个委托。其次,实现textFieldDidEndEditing:委托方法。这个选择器在什么时候被调用

文本字段放弃其第一响应者状态。

这是 iOS 说的失去焦点。文档在这里

于 2011-04-07T11:02:30.137 回答