Размер и вес UIFont по умолчанию, но также поддерживают предпочитаемый метод FontForTextStyle - PullRequest
0 голосов
/ 18 ноября 2018

Если у меня есть своя собственная группа UIFont с различными размерами и весом, например:

let customFont03 = UIFont.systemFont(ofSize: 40, weight: .thin)

Как я могу поддержать Dynamic Type, сохраняя при этом мой нестандартный размер и вес в качестве стандарта по умолчанию и масштабирование в зависимости от того, как пользователь выбирает размеры специальных возможностей?

Я не уверен, что preferredFont(forTextStyle:) - это то, что я хочу, потому что он принимает только UIFont.TextStyle, и я не хочу блокировать customFont03 как .body или .headline и т. Д ...

Ответы [ 2 ]

0 голосов
/ 26 ноября 2018

UIFontMetrics - класс, предназначенный для решения этой проблемы. В частности, -[UIFontMetrics scaledFontForFont:] будет делать то, что вы просите, но обязательно ознакомьтесь с другими членами этого класса, которые могут делать такие вещи, как ограничение увеличения шрифта до некоторого максимума (при самых больших категориях размера контента размер шрифта 40 будет действительно очень большой размер).

https://developer.apple.com/documentation/uikit/uifontmetrics/2877385-scaledfontforfont

0 голосов
/ 19 ноября 2018

Стандартным стилем текста по умолчанию является .body, поэтому, если вы хотите сохранить свой нестандартный размер в качестве стандарта по умолчанию при поддержке Dynamic Type, вам следует определить и адаптировать клавиши fontName и fontSize до вашего нестандартного размера в словаре стилей .

Использование Dynamic Type означает использование стилей текста.Если вам нужен определенный шрифт, вы должны определить его в собственном текстовом стиле, чтобы он идеально и автоматически обрабатывался системой.

Я предлагаю вам взглянуть на эту замечательную статью "useYourLoaf" и на этом полезном сайте доступности .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...