使用更大的设备快速增加文本大小

时间:2016-10-26 13:57:18

标签: ios iphone swift ipad swift3

我目前正在开发一个项目,并希望项目看起来与每个屏幕尺寸完全相同。我已经成功完成了除文本之外的所有事情。例如,这是iPhone上的样子:

enter image description here

正如你在iPad上看到的那样,文字较小。 (或保持相同的大小)

ipad公司:

enter image description here

我希望iPad上的文字大小随着屏幕的大小而增加。任何帮助都会非常感谢谢谢!

3 个答案:

答案 0 :(得分:2)

大小班是最好的选择。

大小类允许您根据屏幕大小设置视图属性,例如字体大小。

答案 1 :(得分:0)

这是一些指导。

我建议你用viewWillLayoutSubviews方法计算文字的字体大小。

您可以在字符串上调用boundingRect(with:options:attributes:context)方法以获取可包含文本的CGRect。然后将此rect与标签的rect进行比较。如果它太小,请将字体大小增加一,然后重试。继续这样做,直到文本的rect大于标签的rect。

如果您懒惰并且您不想自己编写算法,请尝试FittableFontLabel

只需在故事板中创建一个合适的字体标签,将其拉伸到您想要的大小,添加一些约束,然后为您计算和设置文本的大小!

答案 2 :(得分:0)

使用以下代码尝试首次在iphone 7 plus上运行(更大的分辨率:D):

label?.font = self.titleLabel!.font.withSize(45)
label.titleLabel?.adjustsFontSizeToFitWidth = true
label.textLabel?.minimumScaleFactor = 0.5

现在,检查文本的大小并修复它。 当最终确定正确的字体大小时,请在其他仿真器上进行检查(如iphone 6和iphone 5)。 现在修复scaleFactor,但我认为0.5通常就足够了