【问题标题】:How to make two labels with autolayout have the same text size?如何使具有自动布局的两个标签具有相同的文本大小?
【发布时间】:2017-10-27 00:01:57
【问题描述】:

我有两个标签(labelOne 和 labelTwo),我希望它们具有相同的文本大小。使用自动布局 labelTwo 往往比 labelOne 大,因此具有更大的字体大小。我尝试在 viewDidLoad 中使用以下代码:

labelOne.font = UIFont(name: labelTwo.font!.fontName, size: labelTwo.font!.pointSize)

正如这个问题所建议的那样:Autoshrink labels, but maintain same font size for every other UITableViewCell 但这对我不起作用。

【问题讨论】:

  • 这里没什么好说的了。你什么时候打电话给这个?字体是否也设置在其他地方,即情节提要?尝试为两个标签设置adjustsFontSizeToFitWidth = false?
  • 我试过这个,但它会切断 iPhone SE 上的一些字体。 xcode是否可以自动布局较小的标签并缩放要填充的文本,然后采用该尺寸并将其应用于较大的标签?如果不清楚,我可以更新我的答案

标签: ios swift label


【解决方案1】:

确保将标签设置为固定字体大小。当视图控制器调用布局子视图时,您的字体大小可能会发生变化。

【讨论】:

  • 我试过这个,但它会切断 iPhone SE 上的一些字体。 xcode 是否可以自动布局较小的标签并缩放要填充的文本,然后采用该尺寸并将其应用于较大的标签?
  • 可以使用大小等级(每个设备不同的静态字体大小),您所要做的就是在底部选择一个布局大小。
  • 无法证明读取标签的字体大小并将其设置为另一个标签。我想你需要在 didLayoutSubviews 方法中完成它
【解决方案2】:

标签具有内在的内容大小。您需要使它们具有宽度和高度约束并在它们之间建立相等关系。

【讨论】:

  • 这个解决方案是我第一次尝试解决这个问题,但由于某种原因它们的字体大小仍然不同......
【解决方案3】:

不确定您是否找到了解决方案,但我遇到了类似的问题。

我通过使标签具有相同的宽度和纵横比来解决这个问题,并以最小的字体比例自动收缩。魅力在于:Lines=0。

有人提到具有相同数量的字符,但这不适用于所有字体。

【讨论】:

    猜你喜欢
    • 2013-10-25
    • 1970-01-01
    • 2014-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多