Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iphone: uitextfield, multiple textfields with the same delegate?

there are two different textfields in my applications and i set the .delegate property of both of them to: self. Now i implemented different methods from the uitextfielddelegate protocol but i want to be able to control the two textfields individually. For instance i want the first text field to do something different when editing begins than the second textfield... Is the only solution to this problem to set the assign a different delegate or is there a way to do this with both of the textfield having the same delegate assigned to them? I hope my question is understandable i tried it to explain the best way that i could..... thanks in advance!

like image 388
Christoph v Avatar asked Sep 19 '10 20:09

Christoph v


1 Answers

Set a tag on the textfield on initialization, then check the UITextField object that is passed into the delegate method's tag, then you'll be able to make a differentiation between the two textfields:

#define FIELD_ONE_TAG 1
#define FIELD_TWO_TAG 2

UITextField *textFieldOne = ...
textFieldOne.tag = FIELD_ONE_TAG;
...
UITextField *textFieldTwo = ...
textFieldTwo.tag = FIELD_TWO_TAG;


- (void)textFieldDidBeginEditing:(UITextField *)textField {
   if(textField.tag == FIELD_ONE_TAG) { //field one
   } else {//field two

   }
}
like image 107
Jacob Relkin Avatar answered Sep 22 '22 03:09

Jacob Relkin