现在是不是可以使用带有adjustsFontSizeToFitWidth 的Multiline UILabel?
Posted
技术标签:
【中文标题】现在是不是可以使用带有adjustsFontSizeToFitWidth 的Multiline UILabel?【英文标题】:Is it now possible to have Multiline UILabel with adjustsFontSizeToFitWidth?现在是否可以使用带有adjustsFontSizeToFitWidth 的Multiline UILabel? 【发布时间】:2019-10-25 22:49:34 【问题描述】:过去我一直在努力让 UILabel adjustsFontSizeToFitWidth 在多行标签上工作。我很快在*** 上也发现了
adjustsFontSizeToFitWidth 属性“仅在 numberOfLines 属性设置为 1 时有效”。
我记得这是写在official documentation 中的。但是现在找不到了
我正在使用可访问性检查器在 Xcode11 上测试我的代码,以找出需要嵌入到滚动视图中的标签。我发现一个标签显示了 adjustsFontSizeToFitWidth 行为,即使它显示的是多行文本。我检查了“问题”,发现我有这种配置:
使用可访问性检查器上的最大字体大小的配置,我没有这个预期的结果 (1):
但我有这个(2):
可以切换回我的预期结果,将 lineBreakMode 从 NSLineBreakByTruncatingTail 更改为 NSLineBreakByWordWrapping(我在项目中使用的标准设置)
我错过了什么吗?我从具有固定宽度和高度的多行标签中期望 (1) 并且将 adjustsFontSizeToFitWidth 设置为 true 是错误的吗?行为(2)是否可靠,我可以指望它吗?我无法从官方文档中理解它。
【问题讨论】:
【参考方案1】:您只需将 minimumScaleFactor/minimumFontSize 设置为与正常字体大小相同(通常默认为标签字体大小的一半)即可获得预期的结果。
【讨论】:
以上是关于现在是不是可以使用带有adjustsFontSizeToFitWidth 的Multiline UILabel?的主要内容,如果未能解决你的问题,请参考以下文章
使用 NSDictionaryResultType 获取属性时,是不是可以使用带有 NSFetchedResultsController 的 sectionKeyPath?