在UITableView中将行高设置为0,但单元格文本仍显示重叠

时间:2014-11-21 09:24:31

标签: ios objective-c uitableview

我目前的行高设置如下:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    if (indexPath.section == self.expandedSection || indexPath.row <= 3) {
        return 65;
    }

    return 0;
}

我基本上只希望前4行在默认情况下可见,除非该部分是扩展形式,在这种情况下所有行都是可见的。我这样做是通过将前4位的行高设置为65,其余的行设置为0.行和它们各自的图像不显示,但cell.textLabelcell.detailTextLabel是,导致他们看起来像下面的图片。

如何禁用这两者,以便它们不会显示在第4行以后的任何行?

enter image description here

2 个答案:

答案 0 :(得分:5)

应该添加答案:

确保在nib文件上将 Clip to bounds 属性设置为YES,或者以编程方式将其设置为cell.clipToBounds=YES

答案 1 :(得分:1)

cellForRowAtIndexPath

中添加此代码
if (indexPath.section == self.expandedSection || indexPath.row <= 3) {
       Cell.hidden = NO; 
    }
else{
    Cell.hidden = YES;
}