【问题标题】:Scale label's font size or rotate label? (swift)缩放标签的字体大小或旋转标签? (迅速)
【发布时间】:2021-01-07 23:53:53
【问题描述】:

我想通过调整字体大小或在字体太小时旋转标签来将一些文本放入标签中。使用以下方法,我可以将字体大小缩小到某个点(本例中为默认值的 60%),但如果这还不够,任何剩余的不适合的字符都将被截断。

label.adjustsFontSizeToFitWidth = true
label.minimumScaleFactor = 0.6

例如,label.text = "This a long label" 被截断为 "This is a long l..."。每个标签只能有一行文字。

然后我想将其他标签调整为相同的新字体大小(或相应地旋转它们)。

我如何知道新的字体大小是多少?或者实际的比例因子是多少?如何判断文本是否被截断?

【问题讨论】:

  • 相应地旋转它们?旋转文本标签有什么帮助?这看起来不是很奇怪吗?
  • 完全没有,只是旋转了 pi/2,它们看起来很正常。它们是图表的 x 轴标签。

标签: ios swift


【解决方案1】:

看起来您可以在代码中使用以下行来解决此问题,该行将“包装”文本以适合该字段,而不是给出“...”并显示整个文本:

label.numberOfLines = 0

除此之外,我不确定自动更改它的方法,但也许您可以使用“if”“then”语句来表达以下内容:

"If" label.numberOfLines = <1, "then", label.font = UIFont.boldSystemFont(ofSize: 42) 

输入一个越来越小的“ofSize”数量,直到文本完全适合该字段。

【讨论】:

  • 我只能有一行文字。
  • 你试过上面的方法了吗?您可以将该变量更改为 1,2,3,4...等。这对你有用。
  • 我没有尝试,因为我只能有一行文字。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-04-06
  • 1970-01-01
  • 2017-10-09
  • 2016-03-14
  • 2018-09-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多