2015-01-07 4 views
7

Экран iPhone 6S Plus очень большой по сравнению с другими размерами экрана. Я не могу найти хороший способ обработать размер шрифта на этикетке, не изменяя размер программно.Как обрабатывать размер шрифта iPhone 6S Plus?

Как настроить размер шрифта на этикетке так, чтобы он выглядел меньше на iPhone 5 и выше на iPhone 6 Plus?

+0

Что означает «контролировать его класс размеров»? Xcode позволяет создавать ограничения, которые зависят от класса размера. Какая проблема остается? Кроме того, что означает «ярлыки»? Теги _My_ не «перепутаны» на iPhone 6 Plus, так что вы не должны спрашивать себя, почему вы это делаете? – matt

+0

Спасибо, что ответили на мой вопрос Мэтт. Проблема в том, что классы размера, используемые для управления размерами других iPhone, недостаточно точны. Например, если я помещаю ярлык в верхней части UIViewController, тот же ярлык выглядит хорошо на iPhone 4 дюйма, но он не на iPhone Plus, и ему нужно некоторое изменение размера. Плохо то, что я не могу изменить его размер, потому что iPhone 6 Plus не имеет собственного класса размеров, поэтому я должен держать другие ограничения iPhone. – Cesare

+2

Узнайте, как работает макет. – Fogmeister

ответ

5

Не изменять размер шрифта для iPhone 6 или iPhone 6+.

Люди покупают эти телефоны, чтобы увидеть больше контента. 6+ отображает вещи немного больше, чем другие телефоны в любом случае (да, у него большие пиксели, а не только больше пикселей), и если пользователь хочет еще больший дисплей, они могут переключить весь телефон в режим масштабирования (как 6+, так и 6 , что превращает 6+ в большой 6, а 6 - в большой 5).

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

+2

_ «Люди покупают эти телефоны, чтобы увидеть больше контента». _ Такое утверждение не является всемогущим. – holex

1

Вы не можете настроить таргетинг на iPhone 6 Plus с помощью AutoLayout, поскольку он не предназначен для жесткого кодирования. Вы либо должны использовать код и сделать что-то вроде этого:

if UIScreen.mainScreen().bounds.size.width == 375 { 
    // iPhone 6 
    label.font = label.font.fontWithSize(20) 
} 

или just create a invisible view and set top and bottom constraints to it.

+0

Это не работает в ландшафтном режиме. И он ломается, если пользователь сам выбирает большой шрифт. И, конечно же, он сломается, если iPhone 7 будет 380 пикселей в ширину. – gnasher729

1

Я думаю, что лучше использовать адаптивные шрифты (here пример, раздел Адаптивных шрифты)

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