这其实很简单。你需要根据什么是component 0
选择返回相关的颜色component 1
,例如:
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
//...
case 1:
{
NSArray *colors = [self colorsWithSelection:self.selectedRow0];
return colors[row];
}
//...
}
然后执行以下操作:
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
if (component == 0)
{
self.selectedRow0 = row;
[pickerView reloadComponent:1];
dispatch_async(dispatch_get_main_queue(), ^{
[pickerView selectRow:0 inComponent:1 animated:YES];
});
}
}
显然,这可以优化,但它给出了这个概念。
感谢您的想法,我只需要didSelectRow功能来使它工作。干杯。 – fes