动态更改tableview单元格的高度

时间:2014-10-21 08:05:56

标签: ios objective-c xcode facebook uitableview

我正在实施一个看起来像facebook newsfeed的tableview。

我已经根据

中的内容动态设置了tableviewcells的高度

但是现在我遇到了一个问题,我想要展示....更多只是在显示3行内容之后就像在facebook中一样,点击更多按钮后,必须通过显示全部来增加tableviewcell的高度tableview单元格的内容。

请参阅下面的屏幕截图

而不是显示我想要只显示3行的所有内容,之后....more必须在那里,如果单击更多按钮,则tableviewcell的高度必须动态更改

2 个答案:

答案 0 :(得分:1)

您可以截断UILabel或更改UITextView的大小,并将标题为" more"的相邻UIButton放置。因此,当用户点击更多时,您将更改单元格的高度和textView / label的框架,并且应隐藏更多按钮。

您可以使用截断它(您的文字是......)以及位于其下方的UIButton位置来显示带有测试的UILabel。

因此,当用户点击按钮时,您可以更改标签的属性(行数,自动换行等)以适应所有文本以及更改单元格的高度。

enter image description here

答案 1 :(得分:0)

您可以使用以下方式计算文字高度:

-(CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size

如果字符串被渲染并约束到指定的大小,则返回该字符串的大小。

<强>参数:

1)font :用于计算字符串大小的字体。

2)size :字符串的最大可接受大小。此值用于计算换行和换行的位置。

3)返回值:结果字符串边界框的宽度和高度。

根据这个,您可以更新单元格高度。