How do I programmatically assign a method (observer?) to the didEndOnExit
event of a UITextField
object?
This is easy enough to do in IB bu
I just figured it out...
[mytextField addTarget:self
action:@selector(methodToFire:)
forControlEvents:UIControlEventEditingDidEndOnExit];
In your view controller implement the following method:
- (void)textFieldDidEndEditing:(UITextField *)textField{
//do stuff
}
Don't forget to set the delegate in viewDidLoad or the initializer:
myTextField.delegate = self;
For anyone considering to use this target to make another textfield becomeFirstResponder to create a 'Next' button option that feels like you are 'tabbing' through textFields I would recommend using textFieldShouldReturn instead with code like this. Let me tell you it works so well you'll feel like you're riding a unicorn:
-(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;
}