如何使用不同的Apple产品屏幕使文本标签缩放字体大小?
这对于ios dev来说很快。 我有一个非常简单的布局:
link1 (没有足够的代表实际发布图片)
我要做的就是确保“结果”标签按比例缩放到每个不同屏幕尺寸的大致相同的比例。 如下所示,3.5屏幕和iPad屏幕之间的差异非常明显:
LINK2
所以我想让iPad屏幕上的标签大到足以占用与3.5屏幕相同的空间百分比,包括垂直和水平。 我该怎么做呢? 我已经完成了其他几个教程/解决方案,但它们都教你不同的东西,比如如何更改标签大小,而不是字体大小。 我尝试添加宽高比约束,但只是在不改变字体大小的情况下将其移动。 添加高度/宽度约束也只会更改标签大小而不使用字体大小。
您可以在故事板中实际执行此操作。
1,在故事板上打开文件检查器选项卡(第一个选项卡),同时设置Use auto layout
和Use 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)