如何使用不同的Apple产品屏幕使文本标签缩放字体大小?

这对于ios dev来说很快。 我有一个非常简单的布局:

link1 (没有足够的代表实际发布图片)

我要做的就是确保“结果”标签按比例缩放到每个不同屏幕尺寸的大致相同的比例。 如下所示,3.5屏幕和iPad屏幕之间的差异非常明显:

LINK2

所以我想让iPad屏幕上的标签大到足以占用与3.5屏幕相同的空间百分比,包括垂直和水平。 我该怎么做呢? 我已经完成了其他几个教程/解决方案,但它们都教你不同的东西,比如如何更改标签大小,而不是字体大小。 我尝试添加宽高比约束,但只是在不改变字体大小的情况下将其移动。 添加高度/宽度约束也只会更改标签大小而不使用字体大小。

您可以在故事板中实际执行此操作。

1,在故事板上打开文件检查器选项卡(第一个选项卡),同时设置Use auto layoutUse size classes检查。

2,然后你可以转到你的标签属性(Forth标签),你会发现旁边有一个“+”,点击它添加。

3,选择你想要的屏幕尺寸,可以参考“适应性和布局” ,然后选择你的字体大小。

答案参考这个链接 ,你也可以看看

HIEN,

这是关于检测设备/屏幕尺寸的超级post。

如何检测iPhone 5(宽屏设备)?

这是我最喜欢的建议,请点击它并感谢真正的作者!

添加一个’New Swift File’ – > AppDelegateEx.swift

为AppDelegate添加扩展

 import UIKit extension AppDelegate { class func isIPhone5 () -> Bool{ return max(UIScreen.mainScreen().bounds.width, UIScreen.mainScreen().bounds.height) == 568.0 } class func isIPhone6 () -> Bool { return max(UIScreen.mainScreen().bounds.width, UIScreen.mainScreen().bounds.height) == 667.0 } class func isIPhone6Plus () -> Bool { return max(UIScreen.mainScreen().bounds.width, UIScreen.mainScreen().bounds.height) == 736.0 } } 

用法:

 if AppDelegate.isIPhone5() { collectionViewTopConstraint.constant = 2 }else if AppDelegate.isIPhone6() { collectionViewTopConstraint.constant = 20 } 

将它与在应用程序中设置字体相结合,您肯定必须立即执行此操作?

 variable.font = UIFont(name: "Palatino", size: 24)