如何防止两个标签重叠,但具有动态宽度?
Posted
技术标签:
【中文标题】如何防止两个标签重叠,但具有动态宽度?【英文标题】:How do I keep two labels from overlapping, but have a dynamic width? 【发布时间】:2017-11-30 17:02:54 【问题描述】:我在UICollectionViewCell
的两侧有两个标签,它们都具有动态宽度。如下面的屏幕截图所示,“Cream Cheese”和“$15.79”由于它们的动态宽度而自动重叠。
我想保留这两个标签的动态宽度,但如果两者接触,我希望UICollectionViewCell
右侧的标签成为首选标签。这意味着右侧标签的宽度会根据右侧标签的动态宽度最小化。有谁知道有什么方法可以做到这一点?
【问题讨论】:
忘记为此使用约束。你应该使用堆栈视图 【参考方案1】:如果您是通过Interface Builder 执行此操作,则两个标签之间应该有水平间距约束...
...并为右侧的标签赋予更高的内容压缩阻力。
这样,它会扩展,并且较长的标签将具有较短的宽度,正如您所期望的那样。
【讨论】:
这看起来可行,但它们并没有达到预期的结果,而是保持相同的宽度。以上是关于如何防止两个标签重叠,但具有动态宽度?的主要内容,如果未能解决你的问题,请参考以下文章
如何动态调整 UITableViewCell 内的两个文本标签宽度?
无法在具有动态宽度的 Tablecell 中并排自动布局两个 UILabel