在objective-c

时间:2017-05-18 07:32:22

标签: ios objective-c

我是iOS领域的新手。现在我正在尝试创建一个包含大量表格的应用程序。

我想在表格视图的每个单元格中为图像视图设置备用背景颜色。这是我到目前为止所取得的成就:

每个单元格中的绿色代表图像视图。我想为不同的细胞获得不同的颜色而不是那种颜色。我从互联网上尝试了很多,但所有这些都让我得到了细胞完全改变颜色的结果,而不是图像视图。

在这里,我附上我正在尝试的第二个屏幕截图:

enter image description here

3 个答案:

答案 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];
}