【问题标题】:UILabel with 0 lines doesn't initially show full text0 行的 UILabel 最初不显示全文
【发布时间】:2015-09-10 00:04:44
【问题描述】:

在我的 UITableViewCell 中,当我将数据加载到其中时,我有 2 个 UILabel,它们可以有无限数量的行。

我都是这样处理的:

label.numberOfLines = 0
label.lineBreakMode = .ByWordWrapping

当我最初将数据加载到 UITableView 中时,出于某种原因,有时屏幕上的单元格尚未在标签中显示整个字符串。相反,他们只是不扩大自己。

但是,当我向下滚动以使它们离开屏幕然后向上滚动时,一切看起来都很完美。

这是为什么?我该如何解决这个问题?

在我的cellForRowAtIndexPath 中,我基本上使用dequeueReusableCellWithIdentifier(:forIndexPath:)

然后,我做cell.configureViews(...) 并返回。

在我的 PostCell 中,我在 override func layoutSubviews() 中进行上面的标签编辑

【问题讨论】:

  • 你的 cellAtRowIndexPath 方法是什么样子的?
  • 如果你使用故事板,检查那里的行数是否也是0

标签: ios swift uitableview uilabel


【解决方案1】:

您可能也忘记在情节提要上设置 0 行属性...

转到您的 Storyboard,选择标签,然后单击 Attributes Inspector。

在标签下,您应该会看到“第 0 行”,如下面的屏幕截图所示:

另外,请确保您以您想要的方式处理多余的字符 - 下面是一个将文本换行到新行的设置示例:

【讨论】:

  • 我这样做了,但我仍然无法让我的整个文本出现在我正在创建的单元格中。
【解决方案2】:

你需要计算你的 UILabel 高度,并在绘制单元格之前将其用作单元格高度。

试试这个来计算UILabel的高度UILabel height calculation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多