现在是不是可以使用带有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?的主要内容,如果未能解决你的问题,请参考以下文章

带有许可证密钥的 Ioncube(不是许可证文件)

带有自定义图片的 Facebook API 发布链接

java,时间单独的if语句和循环而不是带有探查器的方法

Tensorflow 上带有回归输出的 CNN 图像识别

使用 NSDictionaryResultType 获取属性时,是不是可以使用带有 NSFetchedResultsController 的 sectionKeyPath?

如何使用带有表单数据主体而不是 json 主体的 http 'POST'? (Angular2/打字稿)