Subclassed UITableViewCell并以编程方式删除子视图 - 如何让它调整大小?

时间:2013-12-12 03:30:20

标签: ios uitableview

我有一个子类化的UTableViewCell,如下图所示。一切都与AutoLayout约束相关(尽管仍在进行中)。

基本上,这个自定义单元格正在按预期工作。但是,我想使用这个相同的单元格,但没有UIImageView用于某些indexPath.rows。

我尝试下面的事情:

cell = [tableView dequeueReusableCellWithIdentifier:@"BaseDiaryCell"];
[cell.photoImageView removeFromSuperview];

并且希望单元格应该缩小,因为我从单元格中移除了UIImageView,但是它保持相同的大小,并且在#MainText"之间存在间隙。 UILabel和底部的3 UIButton。

我做的是什么?是否有另一种方法可以删除UIImageView并让单元格自动缩小以反映更改后的布局?

谢谢!

enter image description here

1 个答案:

答案 0 :(得分:0)

没有。多数民众赞成不可能。自动布局约束仅用于检测对象和动画上下文的Rect。

我认为最好的方法是创建一个没有ImageView的新单元格,因此会有两个单元格,一个带有图像视图,另一个没有。您可以使用单元格标识符来区分它们。

您还需要在数据源中使用height for row方法登录。