Установите размер шрифта с помощью классов размера программно

Об этом есть несколько сообщений, но ни в одном из них нет полного решения.

Используя адаптивный макет через IB, я могу легко изменить размеры шрифта для определенных классов размеров, однако у меня есть настраиваемое представление с использованием UILabels, и я хочу программно установить размер шрифта в зависимости от используемого класса размера (используя swift). У кого-нибудь еще было это проблема или найти решение?


person MikeJ    schedule 19.01.2016    source источник
comment
что вы подразумеваете под классом размера в использовании?   -  person idanuda    schedule 19.01.2016
comment
проверьте этот stackoverflow.com/questions /29528661/   -  person Muneeba    schedule 19.01.2016
comment
Я имею в виду, как определить, является ли высота/ширина компактной или обычной, т.е. использовать адаптивный макет программно, а не настраивать его через IB   -  person MikeJ    schedule 19.01.2016


Ответы (2)


Вам нужно ваше собственное представление, чтобы переопределить traitCollectionDidChange(previousTraitCollection: UITraitCollection?) из протокол UITraitEnvironment, которому соответствует UIView.

Обсуждение

Система вызывает этот метод при изменении среды интерфейса iOS. Реализуйте этот метод в контроллерах представлений и представлениях в соответствии с потребностями вашего приложения, чтобы реагировать на такие изменения. Например, вы можете настроить макет подвидов контроллера представления, когда iPhone поворачивается из портретной в альбомную ориентацию. Реализация этого метода по умолчанию пуста.

Возможно, вам придется соблюдать высоту/ширину для класса размеров iPad: Regular| Обычный

person Peter Hornsby    schedule 19.01.2016

Ваше пользовательское представление (UIView) имеет свойство traitCollection с информацией size classes. Посмотрите ответ здесь https://stackoverflow.com/a/25795175/2503640

person Kiet Nguyen    schedule 22.01.2016