【问题标题】:Calculate UILabel height with fixed font size & number of lines使用固定字体大小和行数计算 UILabel 高度
【发布时间】:2015-12-26 11:28:54
【问题描述】:

我正在编写一个表格视图,其中每个单元格显示一个图像和一些文本。这些文本是通过互联网下载的,就像一个新闻应用程序一样,文本是动态的。

文本最多可以有 2 行,并且字体大小是固定的。 (字体大小可以通过设置页面更改)

我为表格单元格使用固定高度,我需要在运行时计算 UILabel 高度以进行布局排列。

如何使用固定字体大小(比如 20)和允许 2 行来计算 UILabel 高度?

【问题讨论】:

  • 我不确定你的意思,你希望你的表格视图单元格根据标签的行数有不同的高度吗?
  • 不,我不想将单元格高度设置为动态的。我知道该怎么做。但这不是我的情况。

标签: swift uilabel


【解决方案1】:

如果我没记错的话,您想根据文本长度动态设置表格单元格或 UILabel 的高度。

更简单的方法是在界面构建器中将 UILabel 自动布局设置为 tablecell,并将 UILabel 行数设置为零,然后将以下内容放入 tableView 的 viewDidLoad:

tableView.estimatedRowHeight = 44.0 //(or some number you prefer)
tableView.rowHeight = UITableViewAutomaticDimension

这样,您可以拥有任意多的线条,而无需计算标签的尺寸。

【讨论】:

  • 不,我不想将单元格高度设置为动态的。我知道该怎么做。但这不是我的情况。我希望我的 UI 有更有序的格式,所以我喜欢使用固定的单元格高度。
【解决方案2】:

尝试将行数设置为 2,然后在 UILabel 上调用 sizeToFit()。 之后,通过框架获取标签高度 - label.frame.size.height

【讨论】:

    猜你喜欢
    • 2016-04-23
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 2018-03-22
    • 1970-01-01
    • 2014-02-11
    • 1970-01-01
    • 2020-02-10
    相关资源
    最近更新 更多