how to change the color alternate cell on table view

后端 未结 8 1853
一整个雨季
一整个雨季 2021-01-01 02:22

I want to display data on table view cell from database so i want to give the color to cell according to data means for 1st cell gray then next two cell in brown again i wan

相关标签:
8条回答
  • 2021-01-01 02:30

    If you mean cell's background color, the simplest way to change it:

    cell.backgroundView.backgroundColor = [UIColor greenColor];
    

    It looks like:

    - (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;
    }
    
    0 讨论(0)
  • 2021-01-01 02:31

    Use below code.

    - (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++;
        }
    
    0 讨论(0)
  • 2021-01-01 02:34

    Try this.

    if(indexPath.row % 2 == 0)
    {
    [cell setBackgroundColor:[UIColor grayColor]];
    }   
    else
    [cell setBackgroundColor:[UIColor brownColor]];
    
    0 讨论(0)
  • 2021-01-01 02:38

    Mitesh Khatri's answer worked for me, although I changed the order of colors used to white as the second color as seen below for what I thought was a better UI. I also used a uicolor generator at www.UIColor.org to find just the right color for my needs. Hopes this helps.

    • (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]];
      
    0 讨论(0)
  • 2021-01-01 02:42

    Priyanka, If it's alternating the color of cell then you can use
    if(indexPath.row % 2 == 0) { cell.contentView.backgroundColor = [UIColor grayColor]; } else cell.backgroundColor = [UIColor brownColor];

    and if the colors are random i.e. first one is gray, second and third is brown and forth one white etc. etc. then you should make an array of UIColor objects, like

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

    and then in the method

    - (UITableViewCell *) tableView:tableView cellForRowAtIndexPath:indexPath
        {
            // your cell creating stuff
    
    
            cell.contentView.backgroundColor = [arryColor objectAtIndex:indexPath.row];
            return cell;
        }
    
    0 讨论(0)
  • 2021-01-01 02:45
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    
        if (indexPath.row % 2 == 0) {
            [cell setBackgroundColor:[UIColor whiteColor]];
        }
        else {
            [cell setBackgroundColor:[UIColor lightGrayColor]];
        }
    }
    
    0 讨论(0)
提交回复
热议问题