如何在iPhone中的tableview中的特定行显示传入消息

时间:2012-07-17 06:51:18

标签: iphone ios tableview

我正在使用xmpp开发聊天应用程序。我可以发送和接收消息。我的联系人在tableview这里我的问题是当有来自在线用户的消息然后我想在我的tableview中的在线用户行显示消息符号。当那行被选中消息符号将消失。

我尝试了使用标签但不实现

的方式
-(UITableViewCell*)tableView:(UITableView *)tableView1 cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *cellIdentifier=@"cell";
    UITableViewCell *cell=[tableView1 dequeueReusableCellWithIdentifier:cellIdentifier];
    if(cell==nil)
    {
        cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
    }

      XMPPUserCoreDataStorageObject *user1= [[self fetchedResultsController] objectAtIndexPath:indexPath];
      cell.textLabel.text = user1.displayName;


      UILabel *lblText = [[UILabel alloc] initWithFrame:CGRectMake(290,16,10,20)]; 
      lblText.textColor = [UIColor orangeColor];
      [cell addSubview:lblText];

      if([cell.textLabel.text isEqualToString:user1.jidStr])
      {
        lblText.text=@"g";
      }



}

任何人都可以帮助我。

提前致谢

4 个答案:

答案 0 :(得分:1)

字典或数组中的传入消息存储然后重新加载tableview以显示到达的最新消息。

每次邮件检索时都必须重新加载表格视图。

答案 1 :(得分:1)

使用下面的表视图方法向表中添加新行..

 -insertRowsAtIndexPaths:withRowAnimation:
希望它有所帮助......

答案 2 :(得分:0)

您的标签应添加到cell.contentView。表格视图单元格有许多子视图,指定供您使用的是contentView

假设您为了我们的利益简化了代码,但为了以防万一,您必须在消息进入后存储消息(可能在您的Core Data对象中)并调用[UITableView reloadRowsAtIndexPaths:withRowAnimation:]

答案 3 :(得分:0)

你应该刷新存储表数据的NSArray,然后[tableView reloadData];例如,NSArray的计数是15,并且您收到一条新消息,您应该刷新NSArray以包含16个对象。