如何使文本标签根据不同的 Apple 产品屏幕缩放字体大小?
How do I make text labels scale the font size with different Apple product screens?
这是 ios 开发者 swift。我有一个非常简单的布局:
link1(没有足够的代表来实际 post 图片)
我想要做的就是确保 "results" 标签针对每个不同的屏幕尺寸缩放到大致相同的比例。正如您在下面看到的,3.5 屏幕和 iPad 屏幕之间的区别非常明显:
所以我想使 iPad 屏幕上的标签足够大,以便在垂直和水平方向上占据与 3.5 屏幕上相同的 space 百分比。我该怎么做呢?我已经浏览过其他几个 tutorials/solutions,但它们都教给您一些不同的东西,例如如何更改标签大小,而不是字体大小。我尝试添加宽高比约束,但这只会在不改变字体大小的情况下改变它。添加 height/width 约束也只会更改标签大小而不会更改字体大小。
飞扬,
这里有一个关于检测 device/screen 大小的超级 post。
How to detect iPhone 5 (widescreen devices)?
这是我最喜欢的建议,请点击它并感谢真正的作者!
添加一个'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)
您实际上可以在情节提要中执行此操作。
1,打开故事板上的文件检查器选项卡(第一个选项卡),同时设置 Use auto layout
和 Use size classes
检查。
2, 然后你可以到你的标签属性(第四个标签),你会注意到旁边有一个“+”,点击它添加。
3、选择你喜欢的屏幕大小,可以参考"Adaptivity and Layout"然后select你的字体大小。
答案参考,你也可以看看
这是 ios 开发者 swift。我有一个非常简单的布局:
link1(没有足够的代表来实际 post 图片)
我想要做的就是确保 "results" 标签针对每个不同的屏幕尺寸缩放到大致相同的比例。正如您在下面看到的,3.5 屏幕和 iPad 屏幕之间的区别非常明显:
所以我想使 iPad 屏幕上的标签足够大,以便在垂直和水平方向上占据与 3.5 屏幕上相同的 space 百分比。我该怎么做呢?我已经浏览过其他几个 tutorials/solutions,但它们都教给您一些不同的东西,例如如何更改标签大小,而不是字体大小。我尝试添加宽高比约束,但这只会在不改变字体大小的情况下改变它。添加 height/width 约束也只会更改标签大小而不会更改字体大小。
飞扬,
这里有一个关于检测 device/screen 大小的超级 post。
How to detect iPhone 5 (widescreen devices)?
这是我最喜欢的建议,请点击它并感谢真正的作者!
添加一个'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)
您实际上可以在情节提要中执行此操作。
1,打开故事板上的文件检查器选项卡(第一个选项卡),同时设置 Use auto layout
和 Use size classes
检查。
2, 然后你可以到你的标签属性(第四个标签),你会注意到旁边有一个“+”,点击它添加。
3、选择你喜欢的屏幕大小,可以参考"Adaptivity and Layout"然后select你的字体大小。
答案参考