首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIlabel多行在UITableView中的应用

UIlabel多行在UITableView中的应用
EN

Stack Overflow用户
提问于 2015-08-26 09:44:25
回答 4查看 3.2K关注 0票数 8

我对UILabel在UITableView上有问题。我想带电影的情节在UILabel,但当申请开始,我只有一行非完整的情节,但当我滚动和向上,我得到完整的电影的情节与2-3行。会有什么问题?

在UILabel首选项中,我选择0行(它使标签是多行的)。在ViewController中,在"viewDidLoad“中,我编写了两行代码,以使单元格可调整大小:

代码语言:javascript
复制
self.searchTableView.estimatedRowHeight = 44.0
self.searchTableView.rowHeight = UITableViewAutomaticDimension
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-08-26 10:08:39

在设置[view layoutIfNeeded]文本后调用UILabel。它将再次布局子视图。

票数 9
EN

Stack Overflow用户

发布于 2015-08-26 10:07:05

使用多行UILabel,您必须帮助它知道什么时候在布局期间包装文本。

要做到这一点,您需要设置preferredMaxLayoutWidth属性。请参阅ref/occ/instp/UILabel/preferredMaxLayoutWidth

因此,在cellForRowAtIndexPath方法中添加如下内容:

代码语言:javascript
复制
cell.yourUILabelIBOutlet.preferredMaxLayoutWidth = tableView.frame.size.width;
票数 4
EN

Stack Overflow用户

发布于 2017-12-14 18:36:48

您可以使用UITableViewCell中的autolayout来实现这一点。对我来说很管用。

  • 在表视图中添加UILabel
  • 设置UILabel前导、尾部、顶部和底部约束。(注意:不要为该标签设置高度)
  • 然后设置UILabel NO.Of行0和设置换行模式。

设置表视图单元格高度

代码语言:javascript
复制
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {

      tableView.estimatedRowHeight = 150
        return UITableViewAutomaticDimension


}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32223174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档