Iphone UiPickerView根据数据更改字体颜色
我正在使用一个pickerView,其中包含与数据库(CoreData)中多个字段相关的多个组件。 是否可以根据数据库中存在的数据更改特定组件的fontcolor? 例如,DB中的字段为空,组件字体颜色应为红色,否则为黑色 任何帮助都将不胜感激 达里奥 ================== 谢谢你,肯尼 我只需要向一个挑选者申请。因此,I'返回视图参数(无需修改)。结果是所有选择器都显示空行 谢谢你的帮助 您将在此处找到代码片段:Iphone UiPickerView根据数据更改字体颜色,iphone,objective-c,cocoa-touch,Iphone,Objective C,Cocoa Touch,我正在使用一个pickerView,其中包含与数据库(CoreData)中多个字段相关的多个组件。 是否可以根据数据库中存在的数据更改特定组件的fontcolor? 例如,DB中的字段为空,组件字体颜色应为红色,否则为黑色 任何帮助都将不胜感激 达里奥 ================== 谢谢你,肯尼 我只需要向一个挑选者申请。因此,I'返回视图参数(无需修改)。结果是所有选择器都显示空行 谢谢你的帮助 您将在此处找到代码片段: - (UIView *)pickerView:(UIPick
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view {
if (pickerView == tipoPk){
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100,30)];
label.textColor = [UIColor redColor];
switch (component) {
case PK_Tipo:
label.text = [tipoArray objectAtIndex:row]];
break;
case PK_Settore:
label.text = [settoreArray objectAtIndex:row]];
break;
default:
break;
}
return label;
}
else {
return view; // <==== return view for non related pickerviews , but no rows shown
}
}
-(UIView*)pickerView:(UIPickerView*)pickerView视图for行:(NSInteger)行for组件:(NSInteger)组件重用视图:(UIView*)视图{
if(pickerView==tipoPk){
UILabel*label=[[UILabel alloc]initWithFrame:CGRectMake(0,01000,30)];
label.textColor=[UIColor redColor];
开关(组件){
案件PK_Tipo:
label.text=[tipoArray objectAtIndex:row]];
打破
案例PK_Settore:
label.text=[settoreArray objectAtIndex:row]];
打破
违约:
打破
}
退货标签;
}
否则{
返回视图;//是的,但您必须使用-pickerView:viewForRow:forComponent:reusingView:
并提供自定义UILabel。是的,但您必须使用-pickerView:viewForRow:forComponent:reusingView:
并提供自定义UILabel。此选项也适用
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view {
CGRect imageFrame = CGRectMake(0.0, 0.0, 15, 15);
UIImageView *label = [[[UIImageView alloc] initWithFrame:imageFrame] **autorelease**];
if (row == 0)
{
label.backgroundColor = [UIColor redColor];
}
if (row == 1)
{
label.backgroundColor = [UIColor blueColor];
}
if (row == 2)
{
label.backgroundColor = [UIColor blackColor];
}
return label;
}这个也可以
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view {
CGRect imageFrame = CGRectMake(0.0, 0.0, 15, 15);
UIImageView *label = [[[UIImageView alloc] initWithFrame:imageFrame] **autorelease**];
if (row == 0)
{
label.backgroundColor = [UIColor redColor];
}
if (row == 1)
{
label.backgroundColor = [UIColor blueColor];
}
if (row == 2)
{
label.backgroundColor = [UIColor blackColor];
}
return label;
}