Я создал пользовательский UIPickerView, но я хотел бы, чтобы UILabel менял цвет при прокрутке в выбранную строку, как это;UIPickerView Selected Row Label Цвет
Любые идеи?
Edit: То, что я хотел бы сделать, это изменить цвет UILabel в то время как выбор делается, то есть в то время как колесо вращается, а не после него.
Вот что у меня до сих пор, что изменяет цвет UILabel после того как вы сделали выбор:
- (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;
}
AILabel просто обычай UILabel, ничего особенного. Переменная 'number' - текущее выбранное значение в первом компоненте. Переменная 'duration' - текущее выбранное значение во втором компоненте.
Надежда это яснее
Приветствия
http://stackoverflow.com/questions/7595220/how-to-change-color-selected-picked-value-from-pickerview –
Whithout любой код, который вам сложно помочь ... –
вставьте свой код, чтобы мы могли вам помочь – user247