iphone - UIPicker and Keyboard conflict -


what have 3 textfields , whenever touch textfield1 or textfield2 picker changes values , there no keyboard. when touch textfield3 keyboard appears , picker goes hidden.now if dismiss keyboard clicking return , click textfield1 picker appears again, if dont dismiss keyboard clicking button stays on picker. need when keyboard firstresponder (and see on screen) hide if click on textfield1 , see picker

int variabla;      -(void)textfielddidbeginediting:(uitextfield *)textfield{         [pickerview sethidden:yes];         if (textfield1.editing == yes) {             [textfield1 resignfirstresponder];             [pickerview sethidden:no];             variabla = 1;         }else if (textfield2.editing == yes) {               [textfield2 resignfirstresponder];             [pickerview sethidden:no];             variabla = 2;         }            nslog(@"variabla %d",variabla);          [pickerview reloadallcomponents];     }      - (nsinteger)numberofcomponentsinpickerview:(uipickerview *)pickerview;     {         return 1;     }     - (nsinteger)pickerview:(uipickerview *)pickerview numberofrowsincomponent:(nsinteger)component;     {         if (variabla == 1) {             return [pickerarray1 count];         }else if (variabla == 2) {             return [pickerarray2 count];         }else {             return 0;         }        }     - (nsstring *)pickerview:(uipickerview *)pickerview titleforrow:(nsinteger)row forcomponent:(nsinteger)component;     {            if (variabla == 1) {             return [pickerarray1 objectatindex:row];                 }else if (variabla == 2) {             return [pickerarray2 objectatindex:row];         }else {             return 0;         }        }     - (void)textfieldshouldreturn:(uitextfield *)textfield{          [textfield resignfirstresponder];     } - (void)viewdidload {     [super viewdidload];     [pickerview sethidden:yes];     pickerarray1 = [[nsmutablearray alloc] initwithobjects:@"0", @"1", @"2", nil];     pickerarray2 = [[nsmutablearray alloc] initwithobjects:@"3", @"4", @"5", nil]; } 

ok solve problem can use lot of option tell 1 of them.

- (void)textfieldshouldbeginediting:(uitextfield *)textfield {    if([textfield isequal:yourtextfield3])   {     yourpicker.hidden=yes;   }   else   {      [yourtextfield3 resignfirstresponder];     [self performselector:@selector(textfieldfirstresponderondelay) withobject:nil afterdelay:0.3];   } }   - (void)textfieldfirstresponderondelay {   yourpicker.hidden=no; } 

and whatever want can put in these conditions.

or can add tag textfield , check accordingly.hide picker whenever want or display picker , hide keyboard whenever want.


Comments

Popular posts from this blog

Add email recipient to all new Trac tickets -

400 Bad Request on Apache/PHP AddHandler wrapper -

php - Change action and image src url's with jQuery -