0

我有一个有很多标签的视图。其中一些动态获取文本集。有时文本太长,无法在一行内显示。我知道如何在多行中显示文本。我的问题是,当我在多行中显示文本时,标签之间的边距会被破坏。有时一个标签甚至会换成下一个标签的内容。

我想避免“手动”修复这个问题(重新定位所有其他元素)。也许 Autolayout 可以解决这个问题,但遗憾的是我现在无法使用它。但是将我的项目从 springs&struts 转换为 autolayout 将是一个很好的论据。但是,也许还有另一种方法可以解决此问题。如果有人可以帮助我,那就太好了。提前致谢!

4

1 回答 1

1

您可以使用sizeWithFont:constrainedToSize:lineBreakMode:来计算每个标签所需的高度。您应该在循环中使用它,该循环按照它们应该出现在屏幕上的顺序遍历每个标签。随着您的前进,将y位置增加当前标签的高度和边距。现在每个标签都将具有正确的位置,并且在循环结束时y将保持所需的全部高度。

于 2013-08-26T16:13:39.737 回答