如何在UITableViewCell运行时之上添加自定义UIView?

时间:2016-06-06 06:53:28

标签: ios objective-c uitableview

我有一个具有多个自定义单元格的TableView。我想添加custom View on top of the cell runtime

我有这样的细胞。

enter image description here

现在我想在同一个单元运行时添加HR Channel top view,以便它看起来像这样。

enter image description here As example :

想想facebook feed。它有一个带有自定义单元格的TableView,如Text Post Cell,Image Post Cell,Group Post Cell,Event cell,Page Post cell(Post贴在页面中)。  现在,如果有人喜欢,评论或标记帖子,Facebook会在单元格顶部添加自定义视图。

如何在单元格顶部添加自定义视图而不再创建一个自定义单元格?

2 个答案:

答案 0 :(得分:1)

根据此http://i.stack.imgur.com/1LZI8.png

设计您的单元格

在一个视图上保留图标,HR频道标签和右图标。使用约束为它赋予高度。使IBOutlet的高度像

IBOutlet NSLayoutConstraint *layoutConstraintHeightTopView;

然后在cellForRowAtIndexPath中检查您的状况是否显示,并按照这样的方式更改高度

(isTopViewToShow == true) ? cell.layoutConstraintHeightTopView.constant = 50 : cell.layoutConstraintHeightTopView.constant = 0;

并且在heightForRowAtIndexPath检查相同的条件,并给予高度

(isTopViewToShow == true) ? return 250 : return 200;

希望这会对你有帮助!!!

答案 1 :(得分:1)

您可以使用UIStackView来保存整个自定义单元格,包括HR频道部分。如果需要,您可以先设置HR通道部分隐藏,并在运行时的代码中设置无隐藏。当HR频道隐藏或显示时,UIStackView将自动更改单元格的视图。

Holp它很有用!