扩展UITableViewCell

时间:2012-04-19 01:49:00

标签: ios xcode uitableview

我正在尝试扩展UITableViewCell以显示更多内容。到目前为止,我已经关闭了动画,但我的问题是在动画完成之前出现了新内容。这是我的代码:

ps在配置单元格时,描述标签和读取按钮都以隐藏状态开始。

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    self.selectedRow = indexPath;
    SDJCell *cell = (SDJCell *)[tableView cellForRowAtIndexPath:indexPath];
    [tableView beginUpdates];
    [tableView endUpdates];
    cell.descriptionLabel.hidden = NO;
    cell.readButton.hidden = NO;
}

-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath {
    SDJCell *cell = (SDJCell *)[tableView cellForRowAtIndexPath:indexPath];
    [tableView beginUpdates];
    [tableView endUpdates];
    cell.descriptionLabel.hidden = YES;
    cell.readButton.hidden = YES;
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    if(selectedRow && indexPath.row == selectedRow.row) {
    return 100;
    }
    return 44;
}

关于在单元格完成扩展后如何显示这些额外内容的任何想法?

谢谢!

1 个答案:

答案 0 :(得分:26)

我遇到了完全相同的问题。解决方案是设置单元格的自动调整遮罩,以便它与其超级视图一起调整大小。

cell.autoresizingMask = UIViewAutoresizingFlexibleHeight;
cell.clipsToBounds = YES;

您也可以在sotoryboard中执行此操作,两个标志都可以在身份检查器

下设置