Установите другой размер шрифта для iPhone 5 и 6
Я искал, но не нашел ответа на этот вопрос.
Я хотел бы установить разные размеры шрифта для ярлыков для iPhone 5 и 6. Я знаю, что могу установить конкретный макет для Compact Width, но и 5, и 6 принадлежат к этой группе. Есть ли способ сделать это?
3 ответа
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 Apple и выполнить оставшуюся логику, чтобы установить размер шрифта. Пожалуйста, обратитесь это
Мое вспомогательное расширение:
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 в атрибутах времени выполнения.