UILabel 和 UIButton - 截断标签而不是按钮

Posted

技术标签:

【中文标题】UILabel 和 UIButton - 截断标签而不是按钮【英文标题】:UILabel and UIButton - truncate label instead of button 【发布时间】:2017-09-29 09:53:42 【问题描述】:

在我的应用程序中,我有一个带有自定义单元格的 UITableView,其中包含动态标题标签和旁边的按钮,如下面的屏幕截图所示:

我的问题是当Title 标签过长时,按钮会被截断。

相反,我希望标签被截断,并且按钮应该始终完全显示。我怎样才能做到这一点?

(我不想为按钮设置固定宽度,因为也必须支持国际化)

【问题讨论】:

为 UILabel 设置最小字体大小。 为 UILabel 设置最小字体大小。 【参考方案1】:

labelbutton 之间的约束的优先级设置为250(低)。并设置另一个约束,即从标题标签到 superview 的尾随空间应该比 button 的 width 大一点。希望对你有帮助。

【讨论】:

【参考方案2】:

1) 设置固定宽度为button

注意:在这种情况下按钮会被截断

2) 设置固定宽度为label

如果您将固定宽度设置为label,那么iPad 将是相同的,所以看起来很丑

需要根据UIScreen来管理宽度,如果设置固定宽度为label

3) 使用Content hugging priorityContent compression resistance priority

label设置跟随约束

Content hugging priority 和 749 中设置水平 250 Content compression resistance priority

【讨论】:

以上是关于UILabel 和 UIButton - 截断标签而不是按钮的主要内容,如果未能解决你的问题,请参考以下文章

使用 UILabel 和 UIButton 显示用户标签

UILabel 子类 - 尽管标签高度正确,但文本在底部被截断

UIStackView 和截断的多行 UILabel

动态大小的 UILabel 直接跟在 UIButton 后面

自动布局:包含 UILabel + UIButton 的标题视图

UITableViewCell 中的 UILabel - 截断信息