显示具有动态尺寸的标签,如表格而不重叠

Posted

技术标签:

【中文标题】显示具有动态尺寸的标签,如表格而不重叠【英文标题】:Show labels with dynamic sizes like a table without overlapping 【发布时间】:2016-04-08 12:18:55 【问题描述】:

我对 ios 开发相当陌生。我正在尝试创建此布局:

问题是我的标签相互重叠,因为它们具有动态大小。标签可以很长也可以很短。这就是我尝试的样子。

如您所见,在最后一个字段中,值太长,因此超过了第一个标签。

我该如何解决这个问题?

编辑:这实际上是一个 UITableViewCell,它位于 UITableView 中。我在故事板中创建了这个。这是一个原型细胞。

【问题讨论】:

I am trying to create this layout in Swift 这是否意味着您正在通过代码进行自动布局工作?您应该显示您现有的限制(使用edit 按钮来改进您的问题)。谢谢。 这实际上是一个 UITableViewCell,它在一个 UITableView 中。我在故事板中创建了这个。这是一个原型细胞,如果这有影响的话。 你能发布你的自动布局约束吗?那会帮助我们。此外,请仔细检查您的标签是否将 numberOfLines 设置为 0,以便它们可以跨越多行。 @EricD 我想他想说他正在使用 Swift 编写代码。他是 Swift 的新手,所以你遵循的第一个教程会教你如何使用故事板。您不会开始以编程方式做所有事情。这是我的猜测。 @Ragnar 好的,但我们不必猜测。甚至有一个近距离投票的原因(“不清楚你在问什么”)。 :) 我从 OP 的问题中删除了这部分,所以现在不要再混淆了,让我们看看它是怎么回事。 【参考方案1】:

您的每个文本字段都应将参数“line”设为 0,如下所示:

或以编程方式

@IBOutlet weak var text: UITextField!
[...]
override func viewWillAppear(animated: Bool) 
        super.viewWillAppear(animated)
        text.numberOfLines = 0

这允许您的 textField 使用无限数量的行。 之后,您必须使用自动布局来设置字段之间的约束。

【讨论】:

以上是关于显示具有动态尺寸的标签,如表格而不重叠的主要内容,如果未能解决你的问题,请参考以下文章

将具有单独日期范围的表格组合在一起而不重叠数据 - Access

具有动态创建高度的单元格重叠

具有动态大小的单元格的复杂自动布局

Knightlab时间线js - 如何显示事件而不相互重叠

echart:地图上标签重叠问题解决

如何为具有动态高度的表格单元格添加底部阴影?