iphone - UIPickerView Selected Row Label Color -


i've made custom uipickerview i'd uilabel change color when scrolled selected row this;

uipickerview

any ideas?

edit: i'd change color of uilabel whilst selection being made, i.e. whilst wheel turning, not afterwards.

here's i've got far, changes color of uilabel after have made selection:

- (uiview *)pickerview:(uipickerview *)pickerview viewforrow:(nsinteger)row forcomponent:(nsinteger)component reusingview:(uiview *)view {     ailabel * pickerrow = view ? (ailabel *)view:[[[ailabel alloc] initwithframe:cgrectmake(0, 0, 140, 40)] autorelease];     pickerrow.backgroundcolor = [uicolor clearcolor];     pickerrow.font = [uifont boldsystemfontofsize:18.0f];     pickerrow.insets = uiedgeinsetsmake(0, 10, 0, 0);      if(component == 0)     {         pickerrow.text = [self.numberarray objectatindex:row];         if ( row == number )         {             pickerrow.alpha = 0.0f;             [uiview animatewithduration: 0.33f                                   delay: 0.0f                                 options: uiviewanimationoptioncurveeaseout                              animations:^{                                  pickerrow.textcolor = [uicolor whitecolor];                                  pickerrow.shadowcolor = [uicolor blackcolor];                                  pickerrow.shadowoffset = cgsizemake(0.0f, 1.0f);                                  pickerrow.alpha = 1.0f;                              }                              completion:^(bool finished){                              }];         }         else         {             pickerrow.textcolor = [uicolor blackcolor];             pickerrow.shadowcolor = [uicolor whitecolor];             pickerrow.shadowoffset = cgsizemake(0.0f, 1.0f);         }     }     else     {         pickerrow.text = [self.durationarray objectatindex:row];         if ( row == duration )         {             pickerrow.alpha = 0.0f;             [uiview animatewithduration: 0.33f                                   delay: 0.0f                                 options: uiviewanimationoptioncurveeaseout                              animations:^{                                  pickerrow.textcolor = [uicolor whitecolor];                                  pickerrow.shadowcolor = [uicolor blackcolor];                                  pickerrow.shadowoffset = cgsizemake(0.0f, 1.0f);                                  pickerrow.alpha = 1.0f;                              }                              completion:^(bool finished){                              }];         }         else         {             pickerrow.textcolor = [uicolor blackcolor];             pickerrow.shadowcolor = [uicolor whitecolor];             pickerrow.shadowoffset = cgsizemake(0.0f, 1.0f);         }     }      return pickerrow; } 

the ailabel custom uilabel, nothing special it. 'number' variable current selected value in first component. 'duration' variable current selected value in second component.

hope clearer

cheers

 - (uiview *)pickerview:(uipickerview *)pickerview viewforrow:(nsinteger)row forcomponent:(nsinteger)component reusingview:(uiview *)view     {         uilabel *label = (uilabel*) view;         if (label == nil) {             label = [[uilabel alloc] init];         }          label.textcolor  = [uicolor redcolor];         cgsize rowsize = [pickerview rowsizeforcomponent:component];         cgrect labelrect = cgrectmake (0, 0, rowsize.width, rowsize.height);         [label setframe:labelrect];          return label;     }    - (void)pickerview:(uipickerview *)pickerview didselectrow:(nsinteger)row incomponent:(nsinteger)component {  uilabel *selectedrow = (uilabel *)[pickerview viewforrow:row forcomponent:component];         selectedrow.textcolor = [uicolor bluecolor]; } 

Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

qt - Errors in generated MOC files for QT5 from cmake -