动态更改表格视图单元格的高度
Posted
技术标签:
【中文标题】动态更改表格视图单元格的高度【英文标题】:Changing the height of a tableview cell dynamically 【发布时间】:2014-10-21 08:05:56 【问题描述】:我正在实现一个看起来像 facebook newsfeed 的 tableview。
我已经根据里面的内容动态设置了tableviewcells的高度
但是现在我遇到了一个问题,就是我想显示...更多,就像在 facebook 中一样显示 3 行内容并且单击更多按钮后,必须通过显示完整来增加 tableviewcell 的高度表格视图单元格的内容。
请看下面的截图
我不想显示所有内容,而是只显示 3 行,然后 ....more
必须在那里,如果单击更多按钮,tableviewcell 的高度必须动态变化
【问题讨论】:
【参考方案1】:您可以截断您的 UILabel 或更改您的 UITextView 的大小并放置一个标题为“更多”的相邻 UIButton。因此,当用户单击更多时,您将更改单元格的高度和 textView/label 的框架,并且应该隐藏更多按钮。
您可以使用截断它(您的文本是...)以及在其下方放置一个 UIButton 来显示带有测试的 UILabel。
因此,当用户单击按钮时,您可以更改标签的属性(行数、自动换行等)以适应所有文本以及更改单元格的高度。
【讨论】:
您能详细说明一下吗? 我想要在像这样djakffajsdlfasdkjf....more
这样被截断的文本之后的更多按钮
所以将它移到标签旁边,当点击更多按钮时,然后将其从视图中移除。
在 iphone 中我的标签宽度是 300。现在如何在标签旁边显示按钮?
所以减少你的标签宽度来调整一个按钮并将你的按钮放在它旁边。【参考方案2】:
您可以使用以下方法计算文本高度:
-(CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size
如果字符串被渲染并限制为指定大小,则返回字符串的大小。
参数:
1) 字体:用于计算字符串大小的字体。
2) size :字符串的最大可接受大小。该值用于计算会发生换行和换行的位置。
3) 返回值 : 结果字符串边界框的宽度和高度。
据此您可以更新单元格高度。
【讨论】:
此方法已被弃用.....并且我正在使用boundingRectWithSize:
方法....但想要的是....more
通过减少内容并且单击完整内容时必须通过动态更改行高来显示以上是关于动态更改表格视图单元格的高度的主要内容,如果未能解决你的问题,请参考以下文章