В идеале, приложение для iOS использует размеры шрифта, которые соответствуют общесистемной настройке размера шрифта пользователя. Тема освещена в докладе WWDC от 2017 года под названием Создание приложений с динамическим типом .
В простых случаях вы устанавливаете шрифт UIView
с использованием именованных стилей, таких как body
, caption1
, title
, размер которых варьируется в зависимости от настроек пользователя.
В более сложных случаях вам нужно написать разные ограничения автоматического макета для разных размеров шрифта. Например, если размер шрифта больше, горизонтальные надписи могут оказаться вертикальными.
Для этой ситуации в докладе WWDC показан код, подобный следующему:
if traitCollection.preferredContentSizeCategory > .extraExtraLarge {
NSLayoutConstraint.deactivate( horizontalConstraints )
NSLayoutConstraint.activate( verticalConstraints )
} else {
NSLayoutConstraint.deactivate( verticalConstraints )
NSLayoutConstraint.activate( horizontalConstraints )
}
Что эквивалентно этому в SwiftUI?