Swift:如何让 UILabel 从另一个 UIlabel 继承字体大小?

Posted

技术标签:

【中文标题】Swift:如何让 UILabel 从另一个 UIlabel 继承字体大小?【英文标题】:Swift : How to make UILabel inherit font size from another UIlabel? 【发布时间】:2015-10-12 16:08:49 【问题描述】:

有两个动态标签,其中一个往往比另一个长。 在较长的标签缩小后,如何使较短的标签从较长的标签继承大小?

我已经看过这个帖子AutoLayout link two UILabels to have the same font size 这不是我的直接问题,但可能观察者可能是解决方案。

但是对于当前的 Swift 2.0 版本,可能已经出现了一些其他更简单的解决方案。

您知道自动收缩后如何将字体大小限制为等于其他标签的大小吗?

提前致谢

【问题讨论】:

【参考方案1】:

您可以使用它来设置字体和/或文本大小:

firstLabel.font = UIFont(name: secondLabel.font!.fontName, size: secondLabel.font!.pointSize)

附: pointSize 不能被写入 - 只能读取。

【讨论】:

很遗憾这不起作用,也许 pointSize 是只读的? 是的,但是 UIFont 可以改变它。试试size: 50 只是为了测试。这是我正在使用的示例:self.locationLabel.font = UIFont(name: self.locationLabel.font!.fontName, size: self.locationLabel.font!.pointSize / 1.5) 但我希望在第二个标签达到其自动收缩大小后应用此效果 我尝试在视图出现后打印两种尺寸,它们都是 16.0,尽管其中一个因自动布局而尖叫 试着让它比它在 Autolayout 中的实际更大,并且在 AutoLayout 中也将 Width 和 Height 设置为静态。

以上是关于Swift:如何让 UILabel 从另一个 UIlabel 继承字体大小?的主要内容,如果未能解决你的问题,请参考以下文章

iOS UI 测试看不到 UILabel

求助,swift中怎么让UILabel自适应高度

swift如何让UILabel对齐到左上角

在 Swift 中使用 CoreAnimation 为 UILabel 元素设置动画

从另一个类 Swift 更新视图控制器的 UI [关闭]

Swift3:用户输入的实时 UiLabel 更新