7

如何以编程方式将方法(观察者?)分配给对象的didEndOnExit事件UITextField

这在 IB 中很容易做到,但我不知道如何在代码中做到这一点。

4

3 回答 3

31

我刚刚想通了...

[mytextField addTarget:self 
        action:@selector(methodToFire:)
        forControlEvents:UIControlEventEditingDidEndOnExit];
于 2009-05-14T04:47:07.213 回答
5

在您的视图控制器中实现以下方法:

- (void)textFieldDidEndEditing:(UITextField *)textField{

//do stuff

}

不要忘记在 viewDidLoad 或初始化器中设置委托:

myTextField.delegate = self;
于 2009-05-14T04:35:44.477 回答
1

对于任何考虑使用此目标来使另一个文本字段成为FirstResponder 以创建一个“下一步”按钮选项的人来说,感觉就像您正在通过文本字段“跳动”一样,我建议使用 textFieldShouldReturn 代替这样的代码。让我告诉你它的效果很好,你会觉得你在骑独角兽:

    -(BOOL)textFieldShouldReturn:(UITextField *)textField{
    [textField resignFirstResponder];

    if([textField isEqual:_textField1]){
        [_textField2 becomeFirstResponder];
        return NO;
    }else if([textField isEqual:_textField2]){
        [_textField3 becomeFirstResponder];
        return NO;
    }

    return YES;
}
于 2014-04-14T17:41:35.883 回答