2016-03-28 2 views
1

Я хочу изменить TextColor для выбора. Я могу изменить textColor после вызванного метода didSelectRow.Изменение TextColor при прокрутке в PickerView

Но я хочу изменить TextColor также, когда текст идет в выбранной области Row так же, как и приложение Clock в iPhone.

Mycode:

-(NSAttributedString*)pickerView:(UIPickerView *)pickerView attributedTitleForRow:(NSInteger)row forComponent:(NSInteger)component 
{ 
    NSAttributedString *str= [[NSAttributedString alloc]initWithString:[NSString stringWithFormat:@"%02ld",row] attributes:@{ 
                                  NSForegroundColorAttributeName:[UIColor redColor] 
                                  }]; 
    if([pic selectedRowInComponent:component]==row) 
    str= [[NSAttributedString alloc]initWithString:[NSString stringWithFormat:@"%02ld",row] attributes:@{ 
                                  NSForegroundColorAttributeName:[UIColor greenColor] 
                                  }]; 
    return str; 
} 


- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component 
{ 

    [pic reloadComponent:component]; 
} 

Как я могу добиться этого?

enter image description here

ответ

0

Вы можете достичь желаемого эффекта в вашем примере с несколько PickerViews т.е. основной PickerView в центре с большим типом и дифференцирующего цветом. Затем поместите два меньших надзора и снизу, убедитесь, что все они ограничены по размеру, так что видна только одна высота строки. Не забудьте установить делегат только для основного объекта и перенести его в иерархию View, когда это прокручивается вручную, смещая содержимое других сборщиков.

+0

Спасибо за ваш ответ. Но я смущаюсь с ** «Обязательно установите делегат только для основного объекта и перенес его в иерархию« Вид », когда это прокручивается вручную, смещая содержимое других сборщиков». ** Я не являюсь получить это, извините – user2526811

Смежные вопросы