Ios 为iPhone 5和6设置不同的字体大小
我已经寻找了,但还没有找到答案 我想为iPhone 5和6设置不同的标签字体大小。我知道我可以为紧凑型宽度设置特定布局,但5和6都属于该组。有办法做到这一点吗Ios 为iPhone 5和6设置不同的字体大小,ios,objective-c,iphone,resize,font-size,Ios,Objective C,Iphone,Resize,Font Size,我已经寻找了,但还没有找到答案 我想为iPhone 5和6设置不同的标签字体大小。我知道我可以为紧凑型宽度设置特定布局,但5和6都属于该组。有办法做到这一点吗 if UIScreen.mainScreen().bounds.size.height == 480 { // iPhone 4 label.font = label.font.fontWithSize(20) } else if UIScreen.mainScreen().bounds.size.height == 568
if UIScreen.mainScreen().bounds.size.height == 480 {
// iPhone 4
label.font = label.font.fontWithSize(20)
} else if UIScreen.mainScreen().bounds.size.height == 568 {
// IPhone 5
label.font = label.font.fontWithSize(20)
} else if UIScreen.mainScreen().bounds.size.width == 375 {
// iPhone 6
label.font = label.font.fontWithSize(20)
} else if UIScreen.mainScreen().bounds.size.width == 414 {
// iPhone 6+
label.font = label.font.fontWithSize(20)
} else if UIScreen.mainScreen().bounds.size.width == 768 {
// iPad
label.font = label.font.fontWithSize(20)
}
或者,您可以使用苹果的API获取设备,并执行其余的逻辑来设置字体大小。请参考您可以获得iPhone的型号,并将其与iPhone 5、5s、5c、6进行比较,然后相应地设置字体。您不应该使用硬编码的大小来获取设备型号,但可以通过苹果的API来获取。请参阅和。我的助手分机:
extension UIFont {
static var sizeMultiplier: CGFloat {
return UIDevice.current.isPhone5 ? 0.85 : 1
}
static func regular(_ size: CGFloat) -> UIFont {
return UIFont(name: "SFUIText-Regular", size: size * sizeMultiplier)!
}
static func bold(_ size: CGFloat) -> UIFont {
return UIFont(name: "SFUIText-Bold", size: size * sizeMultiplier)!
}
}
用法:
titleLabel.font = .bold(16)
我也在寻找一种解决方案,在运行时属性中附加iPhone5特定的大小。是否使用自动布局?这样你就可以很容易地完成这项任务。在属性检查器中,您将在字体选项之前获得+选项。您可以在其中设置乘数value@amelie... 见下面贴出的答案。我发现有一个答案是正确的。谢谢@阿育王你的答案是正确的。昨天我也因为同样的原因被连根拔起。欢迎。您不应该使用硬编码的大小来获取设备型号谢谢,我会检查它。