我有UILabel的行数= 2系统字体大小= 15最小字体大小= 8换行模式 - 截断尾
当我为UILabel设置具有NSString类型的长文本时,它可以正常工作并显示多行文本(如果需要,可以缩放) . 当我尝试使用NSAttributedString类型设置文本时,它会忽略最小字体大小和自动收缩,因此我看到一个最大字体大小的行文本 .
是否有可能解决这个问题
看起来像这样(标签大小是常量)
-----------------------
| normal NSString Text|
| very very long ... |
-----------------------
---------------------------
|NSAttributedString tex...|
---------------------------
3 回答
我找到了一种方法:
仅在设置属性字符串后设置第三行时才有效 . 似乎属性字符串在设置时会覆盖换行符(以及其他内容) .
minimumFontSize
自iOS6起已弃用 . 此外,仅当numberOfLines
设置为1时,adjustsFontSizeToFitWidth才有效.UILabel不会跨多行调整文本大小,因为在缩小字体时处理换行符时存在歧义 .使用
minimumScaleFactor
设置文本应缩放的最小大小 .以下代码将使用字体大小为20的属性字符串填充
UILabel
,并将其缩小一半,最小大小为10 .