在ios 6.0版上不推荐使用最小字体大小

Hoo*_*adi 92 xcode font-size deprecated uilabel ios

我刚刚使用iOS 6.0升级到xcode 4.5,它突出显示了我的XIB文件中所有UILabel的警告"ios版本6.0上不推荐使用的最小字体大小".有谁知道这是指什么以及如何解决它?

更新: 图片不再可用(位于https://skitch.com/hahmadi82/eyk51/cloud)

小智 46

minimumFontSizeUILabel从iOS 6.0开始不推荐使用该属性.

替代方案minimumFontSizeminimumScaleFactor.如果分配minimumFontSize/defaultFontSizeminimumScaleFactor,它的工作原理相同的方式为minimumFontSize.

代码如下 - 例如,字体大小为30.0,如果您希望最小字体大小为12.0

YOURLABEL.font= [UIFont fontWithName:@"FONT_NAME" size:30.0];
[YOURLABEL setMinimumScaleFactor:12.0/[UIFont labelFontSize]];
Run Code Online (Sandbox Code Playgroud)


小智 19

使用minimumScaleFactor代替... 链接


Sab*_*esh 8

快速修复 ...此处最小字体大小为8.0

            CGFloat size = textLabel.font.pointSize;// font size of label text
            [textLabel setMinimumScaleFactor:8.0/size];
Run Code Online (Sandbox Code Playgroud)


Sye*_*man 5

我的回答很晚,但可能会对您有帮助。由于每个人知道setMinimumFontSize已被弃用,因此其它方法代替setMinimumFontSize就是setAdjustFontToFitWidth这需要BOOL 例如

[yourLabel setAdjustsFontSizeToFitWidth:YES];
//or
yourLabel.adjustsFontSizeToFitWidth = YES;
Run Code Online (Sandbox Code Playgroud)


Col*_*ris 5

对于 Swift,请使用以下命令:

//set the number (ex. 8 to your desired minimum font size)
myLabel!.minimumScaleFactor = 8/myLabel!.font.pointSize;`
Run Code Online (Sandbox Code Playgroud)

奇迹般有效!


Sna*_*ops 1

进入 Finder 并找到该.storyboard文件或您的文件.xib并使用 TextEdit 打开。使用find找到字符串"autoshrinkMode"并将值替换"minimumFontSize""minimumFontScale"

奇怪的是转换没有写在更新脚本中......

还要感谢上面评论中的 @Rob 给出了相同的答案。他应该因此获得荣誉。