【发布时间】:2017-03-26 20:30:08
【问题描述】:
我已经看到了涉及自动布局的垂直调整大小的答案,但我正在创建的 UILabels 仅在运行时需要。 (我可能需要从零到许多这样的标签。)
示例(忽略颜色)
- 短文本(注意与长文本宽度相同):
- 较长的文本(注意与较短文本示例的宽度相同,添加文本的行数更多):
如果文本可以容纳在固定宽度的一行中,则标签不需要垂直调整大小。但是如果有更多字符,标签应该保持垂直扩展以适应这些额外的字符。文本应逐行环绕。文本应从标签的左上角开始。
更具体:
let marker = GMSMarker(position: myLatLng)
// see http://stackoverflow.com/a/40211383/1168364 for imageWithView
marker.icon = imageWithView(label) // **how do i create this label?**
marker.map = map // map is a GMSMapView
这些标签可以在屏幕上的任何位置。这适用于地图应用程序,其中每个标签都将放置在随机位置。标签的位置彼此没有关系。
【问题讨论】:
-
@alexburtnik 你能重新考虑一下这不是重复的吗?该解决方案似乎在这里不起作用。注意固定宽度的添加要求。也许您对以下解决方案不起作用的原因有所了解。
-
我撤回了近距离投票,但它仍然是重复的。下面的解决方案假设您正在使用自动布局约束。我下面的解决方案是另一种选择,它是手动更新框架。
标签: ios swift uilabel autoresize