如果出现条件,在tableview中更改新添加的行的背景颜色?

时间:2013-02-18 11:40:22

标签: iphone ios ipad

我有一个聊天应用程序,我在其中添加NSMutableArray的单元格。我正在使用推送器api。现在当用户从频道中删除时我放了一个NSNotifications,并且我正在改变一个布尔值,根据它的值,我正在改变单元格的背景图像。在我的cellForRowAtIndexpath:方法中:

if([userid isEqualToString:uidstr])
    {
      if(offline==YES)
        {
         UIImageView* img = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"chat_cellreply02.png"]];
            [cell setBackgroundView:img];
            [img release]; 
          }
        else
        {
       UIImageView* img = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"chat_cellreply.png"]];
        [cell setBackgroundView:img];
        [img release]; 
        }
    }

它正在运作,但问题是所有细胞的背景都在变化。我只需要更改新添加的单元格的背景。任何人都可以指导我如何实现这个目标吗?

2 个答案:

答案 0 :(得分:1)

使您的offline变量属于您在可变数组中保存的结构。然后在cellForRowAtIndexPath检查该变量。

答案 1 :(得分:0)

只需检查表格视图的最后一行,然后在其中添加离线设计

NSInteger sectionsAmount = [tableView numberOfSections];
    NSInteger rowsAmount = [tableView numberOfRowsInSection:[indexPath section]];
    if ([indexPath section] == sectionsAmount - 1 && [indexPath row] == rowsAmount - 1) {
        // This is the last row  here do your process
       }