我有一个自定义UITableViewCells的UITableView,如下所示:
[ CELL 0
[ description ]
[ dynamic content type 1 ]
[ dynamic content type 2 ]
[ dynamic content type 3 ]
]
[ CELL 1
[ description ]
[ dynamic content type 1 ]
[ dynamic content type 3 ]
]
[ CELL 2
[ description ]
[ dynamic content type 2 ]
]
[ ... and so on ... ]
由于[description]部分已经相当复杂,我决定使用Interface Builder来设计它,并在cellForRowAtIndexPath
中以[cell addSubview:...]
编程方式添加[动态内容]。我的问题是,我在Interface Builder中为自定义UITableViewCell设置了默认高度,但是当我添加[动态内容](可能介于0..3之间)时,我有不同高度的不同单元格。
当然有一件事是计算总高度并更改heightForRowAtIndexPath
中的返回值,但是如何更改实际cell
的高度值(使用nib文件加载一个固定的高度)?
答案 0 :(得分:3)
为什么不在cellForRowAtIndexPath
(你已经添加了动态内容的地方)更新单元格的边界?
答案 1 :(得分:0)
您想要计算并返回以下值:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
有一点需要注意的是,这将在启动时为视图中的每一行调用,因此请注意您创建的内容以计算大小。
另一个选项,在实现中可能更标准,是执行分组的TableView小部件,并将此处称为单元格的部分放在一个部分中,然后每行包含描述或动态内容。如果你的ascii绘图是我的设计规范,我就是这样做的,但我猜你还有更多的东西在运行。