无法更改UITableViewCell的contentView高度

时间:2014-09-29 10:52:34

标签: ios objective-c xcode uitableview ios7

我有自定义uitableviewcell

我想根据if条件改变它的高度。 我怎么能这样做?

我尝试在cellForRowAtIndexPath -

中执行此操作
if (cell.newsFeedImage.image == NULL)
{
    NSLog(@"NULL");
    cell.uDisplayImage.frame = CGRectMake(20, 20, 20, 20);
}

显示日志消息,但框架永远不会更改。

请帮忙。

3 个答案:

答案 0 :(得分:1)

单元格的高度在tableView数据源方法

中设置

heightForRowAtIndexPath

答案 1 :(得分:1)

尝试在heightForRowAtIndexPath

中执行此操作
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
{
    CustomCell *cell = [self tableView:tableView cellForRowAtIndexPath:indexPath];
    if (cell.newsFeedImage.image == nil) {
        cell.uDisplayImage.frame = CGRectMake(20, 20, 20, 20);
    } 
    else return 40;
}

答案 2 :(得分:0)

比这复杂一点。

这些问题在这里得到了很好的回答:Using Auto Layout in UITableView for dynamic cell layouts & variable row heights