【问题标题】:UILabel can not extend line numbers in Objective CUILabel 不能在 Objective C 中扩展行号
【发布时间】:2018-09-27 09:40:17
【问题描述】:

这里我附上了我的模拟器视图和 xcode xib 视图的图像。

这是我将字符串附加到 UILabel 的地方

cell.nameLabel.text = self.dataSourceArray[indexPath.row][@"medicine"][@"name"];

在模拟器中,任何类型的长字符串只显示两行。我该如何解决它?

【问题讨论】:

  • 看起来自动布局问题与 XIB 或 XIB 的子视图有关。你也可以从尺寸检查器中显示约束吗?

标签: objective-c xib


【解决方案1】:

最简单的方法是使用动态高度表视图单元格。正确设置 UITableViewCell 的约束 - 所有元素的静态高度,但可扩展标签应具有 More than or equals (>=) 高度约束。在您的视图控制器中,将这些行添加到 viewDidLoad: 方法中。

tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 300

查看this tutorial 了解更多信息。

【讨论】:

    【解决方案2】:

    这与您为 UILabel 设置的文本无关,而是与该 XIB 中使用的约束有关。
    如果单元格具有静态(非自适应)值,并且与 UILabel 垂直交互的其他视图不会缩小,则 UILabel 将没有空间增长,并且不会正确显示文本。顺便说一句,您的 XIB 中的黄线表示您看到的不是单元格在运行时的样子。

    您可以使用 View Hierarchy Debugger 检查 UILabel 是否有足够的空间来显示您想要的 3 行。当应用程序运行时(由 Xcode 启动),底部栏(可能在调试区域上方)有一个名为“Debug View Hierarchy”的底部

    然后您可以决定是否要减小该 UILabel 周围的间距,或者使单元格更大以便 UILabel 可以尽可能大。如果是后者,check on UITaableViewCell autosizing tutorials,就像 Eugene 提到的那样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-05
      • 1970-01-01
      • 1970-01-01
      • 2017-08-10
      • 2013-10-09
      • 1970-01-01
      • 2017-04-23
      • 1970-01-01
      相关资源
      最近更新 更多