IOS:向上滚动时的UITableView Jerks

时间:2015-07-21 17:55:12

标签: ios objective-c uitableview

我有这个奇怪的问题,我的UITableView在向上滚动时开始抽搐或口吃,但是一旦我向上滚动,它就没事了。我正在使用此表视图来进行聊天对话。我正在使用自定义单元格,它只在两个标签上填充文本。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    //    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MessagesInfo" forIndexPath:indexPath];
    //
    // Configure the cell...

    WinMessagesInfoCell *cell = [self.tableView dequeueReusableCellWithIdentifier:@"MessagesInfo" forIndexPath:indexPath];


        if (cell == nil) {
            cell = [[WinMessagesInfoCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"MessagesInfo"];
            cell.selectionStyle = UITableViewCellSelectionStyleNone;
        }

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    NSNumber *userId = [defaults valueForKey:@"loggedInUserId"];

    NSLog(@"Line 791 WinMessageViewController");

    if ([self.sender_id objectAtIndex:indexPath.row])
    {

        if ([[self.sender_id objectAtIndex:indexPath.row] isEqual:userId]){
            cell.friendName.textColor = [UIColor blueColor];
            cell.friendName.text = @"Me";
        }
        else
        {
            cell.friendName.textColor = [UIColor greenColor];
            cell.friendName.text = [self.from objectAtIndex:indexPath.row];

        }

        cell.friendMessage.text = [self.message objectAtIndex:indexPath.row];


    }

        return cell;
  }

更新: 这个问题似乎是我的细胞的高度,如果我取消动态细胞生长,问题就会消失,但我需要它们动态增长。我目前正在使用以下内容:

-(CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath {
    //minimum size of your cell, it should be single line of label if you are not clear min. then return UITableViewAutomaticDimension;
    return UITableViewAutomaticDimension;
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return UITableViewAutomaticDimension;
}

估计一定不好。有什么建议可以得到更好的估计吗?单元格中有两个标签,只有一个标签的大小会发生变化。

0 个答案:

没有答案