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

Posted

技术标签:

【中文标题】ios 6.0 版不推荐使用最小字体大小【英文标题】:Minimum Font Size deprecated on ios version 6.0 【发布时间】:2012-06-15 20:09:24 【问题描述】:

我刚刚升级到带有 ios 6.0 的 xcode 4.5,它在我的 XIB 文件中的所有 UILabel 上突出显示一个警告,上面写着“在 ios 版本 6.0 上不推荐使用最小字体大小”。有谁知道这是指什么以及如何解决它?

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

【问题讨论】:

@HoomanAhmadi:所有 iOS 开发人员都收到了这封电子邮件。阅读其底部的免责声明:“预发布软件...” 将“自动缩小”部分中的“最小字体大小”更改为“最小字体比例”。 :p 只是遇到了同样的问题,假设字体不会违反 NDA,就直接来到这里。看起来字体在升级中经历了一些变化。 我提出了这个问题,因为它没有正确关闭。至少关闭的原因是错误的错误错误。 “它只与一个小的地理区域有关”不是。它适用于所有 iOS 开发者。 “非常狭窄的情况,通常不适用于互联网的全球观众”不是。它适用于每个人。“这个问题不太可能帮助任何未来的访客”。它对我非常有用,并且可能对任何 iOS 开发人员同样有用。我了解 NDA 问题,但一旦 NDA 解除,这个问题就会站起来。 伙计们,我第一次解决这个问题时,我是手动完成的,这是一种特殊的折磨。然后我不得不合并一些更改,多亏了 Xcode beta,它给了我 emacs 作为我的合并工具,所以我放弃了它并采用了新版本的文件,知道我会扔掉这些,但后来我重新做了这些更改使用TextWrangler:文件是 xml。只需将 autoshrinkMode="minimumFontSize" 替换为 autoshrinkMode="minimumFontScale" 并将 minimumFontSize="10" 替换为 minimumFontScale="0.5"。瞧。 @LittleBobbyTables:不过,如果人们可以很好地提出问题,那就太好了。像 matheszabi 的评论一样愤怒和有权利的抱怨是说服我不要重新提出问题的好方法。 【参考方案1】:

对于 Swift,请使用以下内容:

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

像魅力一样工作!

【讨论】:

【参考方案2】:

请改用 minimumScaleFactor... Link

【讨论】:

【参考方案3】:

我回答得很晚,但可能会对其他人有所帮助。 众所周知,setMinimumFontSize 已被弃用,因此替换setMinimumFontSize 的其他方法是setAdjustFontToFitWidth,它采用BOOL 例如

[yourLabel setAdjustsFontSizeToFitWidth:YES];
//or
yourLabel.adjustsFontSizeToFitWidth = YES;

【讨论】:

【参考方案4】:

是的 minumumFontSize 已弃用。

使用以下minimumScaleFactor:-

Obj.minimumScaleFactor= (floatValue);

【讨论】:

【参考方案5】:

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

            CGFloat size = textLabel.font.pointSize;// font size of label text
            [textLabel setMinimumScaleFactor:8.0/size];

【讨论】:

【参考方案6】:

UILabelminimumFontSize 属性从 iOS 6.0 起已弃用。

minimumFontSize 的替代方案是minimumScaleFactor。如果将minimumFontSize/defaultFontSize 分配给minimumScaleFactor,它的工作方式与 minimumFontSize 相同。

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

YOURLABEL.font= [UIFont fontWithName:@"FONT_NAME" size:30.0];
[YOURLABEL setMinimumScaleFactor:12.0/[UIFont labelFontSize]];

【讨论】:

【参考方案7】:

你可以在那里使用最小比例因子或拖动标签并设置 autoshrik-> 最小字体。

也许这对你有帮助。

【讨论】:

【参考方案8】:

我有类似的问题。快速解决方法是使用 UILabel 的 MinimumScaleFactor 属性。

【讨论】:

【参考方案9】:

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

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

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

【讨论】:

我的故事板文件中没有 autoshrinkMode。 谢谢,这非常适合我。 @Tim你只需要选择UILabel,并在右侧实用程序面板中检查“标签”选项,然后检查选项,你会看到一个名为“Autoshrink”的选项。 i.stack.imgur.com/H6YYJ.png

以上是关于ios 6.0 版不推荐使用最小字体大小的主要内容,如果未能解决你的问题,请参考以下文章

iOS:设置页面菜单的标签标题最小字体大小

UILabel 最小字体大小阴影问题

UITextField 最小字体大小

iOS 根据给定宽度自适应文字大小

使用自定义字体时,有没有办法最小化它们使用的大小?

ios 字体大小