我有一个奇怪的问题,我已经处理了8个多小时了..根据情况,我必须动态计算UILabels
大小,
e.g
我的UIViewController
收到一个事件,我改变了UILabels
的大小。从大到小。我的UILabel
的大小变小了,我得到了正确的所需大小,但我的UILabel
中的文本保持不变,相同的字体大小等等。我需要字体变小,以便整个文本适合UILabel
。因此,问题是如何使文本适合我的标签与autoshrinking
或类似的东西?
在我的xib
中,UILabels
autoshrink
被选中,行数也被设置为0,并且我的字符串有新的行号(\n),并且我选择了linebreakmode to wordwrap
。也许有谁和我现在的情况一样,可以帮助我?我真的很感激。
提前感谢!
编辑: UILabel
最小字体大小设置为10
发布于 2012-10-16 20:08:06
如果你还在寻找更好的解决方案,我想这就是你想要的:
一个布尔值,指示是否应减小字体大小以使标题字符串适合标签的边框(此属性仅在numberOfLines
属性设置为1时有效)。
设置此属性时,还必须设置minimumScaleFactor
(较好的默认值为0.5)。
斯威夫特
var adjustsFontSizeToFitWidth: Bool { get set }
Objective-C
@property(nonatomic) BOOL adjustsFontSizeToFitWidth;
一个布尔值,指示是否应调整字母之间的间距以使字符串适合标签的边界矩形。
斯威夫特
var allowsDefaultTighteningForTruncation: Bool { get set }
Objective-C
@property(nonatomic) BOOL allowsDefaultTighteningForTruncation;
发布于 2015-12-15 07:29:15
这就是我如何在iOS 9.2,Xcode7.2中获得UILabel Autoshrink
工作(特别是在4s设备中从6s Plus Storyboard适合标签字体的高度)。
发布于 2013-09-17 07:44:21
iOS 6中不推荐使用minimumFontSize
。
所以使用minimumScaleFactor
而不是minmimumFontSize
。
lbl.adjustsFontSizeToFitWidth = YES
lbl.minimumScaleFactor = 0.5
Swift 5
lbl.adjustsFontSizeToFitWidth = true
lbl.minimumScaleFactor = 0.5
https://stackoverflow.com/questions/9908334
复制