如何更改表视图上的颜色备用单元格

时间:2011-05-10 05:33:12

标签: iphone

我想在数据库中显示表视图单元格上的数据,所以我想根据第一个单元格灰色的数据方式给单元格颜色然后再下一个棕色的单元格我要显示灰色单元格,  所以任何人都可以告诉我它最简单的程序。

thnks&问候, 普里。

8 个答案:

答案 0 :(得分:4)

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    if (indexPath.row % 2 == 0) {
        [cell setBackgroundColor:[UIColor whiteColor]];
    }
    else {
        [cell setBackgroundColor:[UIColor lightGrayColor]];
    }
}

答案 1 :(得分:2)

试试这个。

if(indexPath.row % 2 == 0)
{
[cell setBackgroundColor:[UIColor grayColor]];
}   
else
[cell setBackgroundColor:[UIColor brownColor]];

答案 2 :(得分:2)

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (indexPath.row % 2==0) 
    {
         cell.contentView.backgroundColor = [UIColor grayColor];  // first color (greyColor or grayColor can't remember spelling)
    }
    else 
    {
         cell.contentView.backgroundColor = [UIColor brownColor];  // second color
    }
}

答案 3 :(得分:2)

使用以下代码。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        static int alternateColor = 0;

        if((alternateColor % 2) == 0 ) 
        {
             cell.contentView.backgroundColor = [UIColor whiteColor];  
        }
        else 
        {
             cell.contentView.backgroundColor = [UIColor blackColor];
        }
       alternateColor++;
    }

答案 4 :(得分:1)

如果你的意思是细胞的背景颜色,最简单的改变方法是:

cell.backgroundView.backgroundColor = [UIColor greenColor];

看起来像:

- (UITableViewCell *) tableView:tableView cellForRowAtIndexPath:indexPath
{
    cell = ... // dequeue or initialize cell
    switch (criteriaFromDatabase) 
    {            
        case 0:
            cell.backgroundView.backgroundColor = [UIColor greenColor];
            break;
        case 1:
            cell.backgroundView.backgroundColor = [UIColor blueColor];
            break;
        default:
            cell.backgroundView.backgroundColor = [UIColor redColor];
            break;
    }
    return cell;
}

答案 5 :(得分:1)


写下面的代码

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (indexPath.row%2==0) 
    {
        //Write your code for even rows like 0,2,4
    }
    else 
    {
         //write your code for odd rows like 1,3,5
    }
}

答案 6 :(得分:0)

Priyanka,如果它是交替颜色的细胞那么你可以使用
if(indexPath.row % 2 == 0) { cell.contentView.backgroundColor = [UIColor grayColor]; } else cell.backgroundColor = [UIColor brownColor];

如果颜色是随机的,即第一个是灰色的,第二个和第三个是棕色的,一个是白色等等,那么你应该制作一个UIColor对象的数组,如

NSArray *arryColor = [NSArray arrayWithObject:[UIColor grayColor],[UIColor brownColor],[UIColor  brownColor],[UIColor  whiteColor],[UIColor  redColor],[UIColor  greenColor],nil];

然后在方法中

- (UITableViewCell *) tableView:tableView cellForRowAtIndexPath:indexPath
    {
        // your cell creating stuff


        cell.contentView.backgroundColor = [arryColor objectAtIndex:indexPath.row];
        return cell;
    }

答案 7 :(得分:0)

Mitesh Khatri的回答对我有用,虽然我将用于白色的颜色顺序改为 second 颜色,如下所示我认为是更好的UI。我还在www.UIColor.org上使用了一个uicolor发生器来找到适合我需要的颜色。希望这会有所帮助。

  • (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {

    if (indexPath.row % 2 == 0) {
        [cell setBackgroundColor:[UIColor colorWithRed:81.0/255.0 green:102.0/255.0 blue:145.0/255.0 alpha:0.1]];
    }
    else {
        [cell setBackgroundColor:[UIColor whiteColor]];