2015-05-11 2 views
2

Я искал, но пока не нашел ответа.Установите другой размер шрифта для iPhone 5 и 6

Я хотел бы установить различные размеры шрифтов для ярлыков для iPhone 5 и 6. Я знаю, что могу установить конкретный макет для Compact Width, но 5 и 6 принадлежат к этой группе. Есть ли способ сделать это?

+0

Вы используете автоматическую компоновку? Тогда вы можете сделать эту задачу очень легко. вы получите опцию + перед шрифтом в инспекторе атрибутов. Где вы можете установить значение множителя –

+0

@amelie ... см. Ответ ниже. Я считаю, что один ответ правильный. –

ответ

2
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 и выполнить остальную часть логики, чтобы установить размер шрифта. Пожалуйста, обратитесь к this

+0

Спасибо! @AshokLondhe –

+0

ваш ответ правильный. и вчера я выкорчевал за то же самое. Добро пожаловать. –

+3

Вы не должны использовать жестко заданный размер, чтобы получить модель устройства –

1

Вы можете получить модель iPhone и сравнить ее с iPhone5, 5s, 5c, 6 и задать шрифт соответственно. Вы не должны использовать жестко заданные размеры, чтобы получить модель устройства, но вы можете получить ее с помощью API Apple. См. this и this.

+0

Спасибо, я проверю это. – pouncelciot

1

Мой помощник расширение:

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-определенный размер в атрибутах выполнения.

Смежные вопросы