2014-04-30 4 views
1

Pour ma UIPickerView je:UIPickerView question textcolor et question luminosité couleur

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view { 

    CGSize size = [pickerView rowSizeForComponent:0]; 
    UILabel *labelMain = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, size.width, size.height)]; 
    labelMain.backgroundColor = [UIColor clearColor]; 
    labelMain.font = [UIFont fontWithName:kFontSegoeSemiBold size:14]; 
    labelMain.textColor = kColor_default_orangeText; 
    labelMain.textAlignment = NSTextAlignmentCenter; 

    int age; 
    // from 
    if (pickerView == self.pickerFrom) { 
     age = minAge + row; 
    } 
    // to 
    else { 
     age = minAge_pickerTo + row; 
    } 
    labelMain.text = [NSString stringWithFormat:@"%d", age]; 
    return labelMain; 
} 

Je sais comment faire indicateur de sélection bleu (je mets vue bleu derrière UIPickerView et définir la couleur d'arrière-plan de l'étiquette à clearColor

. Je dois avoir ce sélecteur (de/à sélecteur d'âge) (lignes verticales bleues sont juste pour photoshop): enter image description here

en ce moment j'ai créé ce sélecteur:

enter image description here

J'ai 1 questions:

Je veux avoir la couleur du texte blanc pour la zone dans l'indicateur de sélection (ou au centre de vue sélecteur) et la couleur de texte orange dans une autre zone de pickerview. C'est possible?

Répondre

5

Essayez ceci:

#pragma mark - UIPickerViewDelegate 
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component 
{ 

UILabel *label = (UILabel *)[self.yourPickerOutlet viewForRow:row forComponent:component]; 

label.textColor = [UIColor whiteColor]; 
label.backgroundColor = [UIColor blueColor]; 
} 

#pragma mark PickerView DataSource 
- (NSInteger)numberOfComponentsInPickerView: 
(UIPickerView *)pickerView 
{ 
    return 1; 
} 

- (NSInteger)pickerView:(UIPickerView *)pickerView 
numberOfRowsInComponent:(NSInteger)component 
{ 

    return [dataSourseArray count]; 
} 

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view{ 


    NSString* itemString = dataSourseArray[row]; 

    UILabel *label; 

    if(view==nil){ 
     label = [[UILabel alloc] initWithFrame:CGRectMake(5, 5, 310, 30)]; 
     label.textColor = [UIColor blackColor]; 
     label.backgroundColor = [UIColor clearColor]; 
     label.shadowColor = [UIColor whiteColor]; 
     label.shadowOffset = CGSizeMake(0,1); 
     label.textAlignment = NSTextAlignmentCenter; 
    }else{ 
     label = (UILabel*) view; 
    } 



    label.text = itemString; 


    return label; 

}