用于sizeWithFont的替代方法:minFontSize:actualFontSize:forWidth:lineBreakMode:?

时间:2013-10-04 23:57:36

标签: iphone ios nsstring uikit ios7

在iOS 7中,此方法已弃用。文件对替换文件含糊不清,并说明:

  

这种方法没有确切的选择。人机界面   指南不鼓励以这种方式更改字体大小,因为它会导致   不一致的用户体验。请参阅UILabel   某些用例的替代方案。

我找到了一个solution,但它忽略了UILabel可以根据需要缩小文本。没有最小字体大小参数。

有没有人在你真正想要计算标签中某些文字的边界矩形大小的情况下找到了另一种选择,当文字太长时,这些文字会缩小字体大小?

1 个答案:

答案 0 :(得分:1)

你必须喜欢Apple对此的评论......

似乎你唯一的选择是使用boundingRectWithSize:options:attributes:context:实现原始函数背后的逻辑以及不推荐使用的函数的详细描述(在“讨论”下)。

使用boundingRectWithSize:options:attributes:context:,您可以指定具有特定尺寸的UIFont,并获得结果宽度。然后,您可以将结果宽度与所需宽度进行比较。但是,您仍然需要一些试验和错误来确定实际的字体大小。