ios - UILabel - 收缩文本而不是截尾

标签 ios uilabel

我有一个 UILabel 集,字体为系统粗体 14.0,最小字体大小为 12。 我希望标签填充 7 行,如果它太大,将文本缩小到 12 像素,在这种情况下它可能超过 7 行,但仍然适合它的原始框架。

我已经尝试将行数设置为 7 和 0。无论哪种方式,文本都以默认大小 (14) 填充 7 行并截断尾部。如何让文本缩小到 12px 以便我可以看到更多文本?

(我会发布更多代码,但其中大部分都在 IB 中设置)。

编辑:我将 Autoshrink 选项设置为“最小字体大小”,大小为 12。即使我将其设置为 8 之类的明显值,也不会发生收缩。

最佳答案

检查

sizeWithFont:minFontSize:actualFontSize:forWidth:lineBreakMode:

[labelText sizeWithFont:labelFont 
                  minFontSize:12.0 
                  actualFontSize:&returnFontSize 
                  forWidth:frame.size.width 
                  lineBreakMode:UILineBreakModeWordWrap];

更多详情check apple documentation for NSString . NSString 还有其他一些方便的方法。

更新: 根据您的编辑,解决您的问题的方法是设置以下属性,

label.adjustsFontSizeToFitWidth = YES;

关于ios - UILabel - 收缩文本而不是截尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13595239/

相关文章:

iphone - UILabel 动态宽度与单元格上的 sizeToFit

ios - 将 UILabel.attributedText 设置为相同的值很昂贵吗?

ios - 无法在 Swift 中从 UILabel 复制文本

android - 检索 Sku 详​​细信息时出错

php - iOS gzip 压缩到 PHP

ios - 使用 webView Objective C 加载到另一个 VC 的可点击条款和政策

ios - 在核心图中设置轴文本样式

iphone - 在 Storyboard 中隐藏部分标题 "Prototype Cells"

ios - 使用 Alamofire 和 realm.io 进行分页

android - 如何在 flutter 视频播放器中设置边框半径?