我是iOS领域的新手。现在我正在尝试创建一个包含大量表格的应用程序。
我想在表格视图的每个单元格中为图像视图设置备用背景颜色。这是我到目前为止所取得的成就:
每个单元格中的绿色代表图像视图。我想为不同的细胞获得不同的颜色而不是那种颜色。我从互联网上尝试了很多,但所有这些都让我得到了细胞完全改变颜色的结果,而不是图像视图。
在这里,我附上我正在尝试的第二个屏幕截图:
答案 0 :(得分:0)
1)在.h文件中将数组声明为NSArray。
- (void)viewDidLoad {
[super viewDidLoad];
arrData = @[@{@"title":@"A",@"color":[UIColor redColor]},
@{@"title":@"A",@"color":[UIColor redColor]},
@{@"title":@"A",@"color":[UIColor blackColor]},
@{@"title":@"A",@"color":[UIColor blueColor]},
@{@"title":@"A",@"color":[UIColor greenColor]},
@{@"title":@"A",@"color":[UIColor brownColor]}
];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return arrData.count;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return 76;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
YourCell *cell = (YourCell *)[tableView dequeueReusableCellWithIdentifier:@"YourCell"];
cell.lblTitle.text = arrData[indexPath.row]["title"];
cell.imgColor.backgroundColor = arrData[indexPath.row]["color"];
return cell;
}
答案 1 :(得分:0)
首先为具有UIColor
对象的颜色创建新数组NSArray *colorsArray;
colorsArray = [[NSArray alloc] initWithObjects:[UIColor redColor],[UIColor blueColor],[UIColor greenColor],nil];
适用于此功能内部的颜色
cellForRowAtIndexPath:
as
cell.imageView.backgroundColor = [colorsArray objectAtIndex:indexPath.row];
答案 2 :(得分:0)
您需要在cellForRowAtIndexpath方法中添加它。这将显示备用背景颜色。
if (indexPath.row%3==0) {
cell.backgroundColor=[UIColor greenColor];
}
else if (indexPath.row%3==1){
cell.backgroundColor=[UIColor blueColor];
}
else{
cell.backgroundColor=[UIColor yellowColor];
}