当tableView高度为真高度时

时间:2017-06-15 08:07:39

标签: ios swift

感谢您的帮助。

我使用Nib来处理TablViewCell,但是当我尝试在cell.contentView中绘制图形时,我无法在awakeFormNib()中获得真正的高度,那么如何才能获得绘制正确图形的真实高度

单元格是动态单元格,我使用UITableViewCell + FDTemplateLayoutCell。

1 个答案:

答案 0 :(得分:0)

您可以在单元子类中添加它并获得真正的高度:

-(void)layoutSubviews {
    [super layoutSubviews];

    // Get frame: self.contentView.frame
}

加载笔尖细胞。首先,注册nib:

[self.tableView registerNib:[UINib nibWithNibName:@"CustomCellNibName" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"CustomCellReuseIdentifier"];

tableView:cellForRowAtIndexPath中加载笔尖:

id cell  = [self dequeueReusableCellWithIdentifier:@"CustomCellReuseIdentifier"];

if (cell == nil) {
    NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomCellNibName" owner:self options:nil];
    for (id currentObject in topLevelObjects){
        if ([currentObject isKindOfClass:[CustomCell class]]){
            cell =  currentObject;
            break;
        }
    }
}

相信你可以把它转换成Swift。

When is layoutSubviews called?