所以我想要的是在PickerView中为我的行制作单独的颜色,但我真的不知道如何做到这一点。知道如何制作单独的文字颜色也很酷。 感谢。
答案 0 :(得分:1)
因此,如果您正在查看UIPickerView datasource
,您会找到以下方法:
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view;
我猜您可以使用它来修改pickerView
中的视图,方法是处理以下内容:
pickerView
在viewDidLoad
例如:
UIPickerView *pickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, self.view.frame.size.height / 4, self.view.frame.size.width, self.view.frame.size.height / 2)];
pickerView.delegate = self;
pickerView.dataSource = self;
[self.view addSubview:pickerView];
示例:
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view
{
UIView *customRow = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 30)];
switch (row) {
case 0:
customRow.backgroundColor = [UIColor redColor];
return customRow;
break;
case 1:
customRow.backgroundColor = [UIColor orangeColor];
return customRow;
case 2:
customRow.backgroundColor = [UIColor yellowColor];
return customRow;
case 3:
customRow.backgroundColor = [UIColor greenColor];
return customRow;
case 4:
customRow.backgroundColor = [UIColor blueColor];
return customRow;
case 5:
customRow.backgroundColor = [UIColor purpleColor];
return customRow;
default:
return nil;
break;
}
}
在您的控制器中:
#pragma mark: UIPickeView datasource
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return 6;
}