Я играю с SwiftUI и хочу использовать собственный шрифт пользовательского интерфейса для моего проекта.Однако я не хочу терять динамическое изменение размера шрифта, которое поставляется со встроенными классами шрифтов (например, Large Title).
Apple предоставляет собственный модификатор шрифта для Text
:
Text("Hello, world!")
.font(.custom("Papyrus", size: 17))
Однако это фиксирует размер до 17pt.Когда вы запускаете это на устройстве или в симуляторе и открываете инспектор специальных возможностей, чтобы настроить размер шрифта на уровне ОС, элемент Text
не обновляется.
Параметр size:
не является обязательным, поэтомуВы должны передать что-то.И, к сожалению, вы не можете получить size
существующего шрифта (даже пользовательского), потому что Font
не имеет параметра size
.
Кажется, что это обычный шаблон востальная часть SwiftUI, что параметры могут быть необязательными, или вы можете передать nil
, чтобы явно отключить определенное поведение.Я ожидал бы, что параметр size:
в .custom()
будет необязательным, и внутренне либо используйте размер из предыдущего модификатора Font
, либо используйте размер по умолчанию, установленный Text
.
Альтернативно,статические методы, определяющие системные стили (например, .largeTitle
), могут принимать аргумент, предоставляющий имя произвольного шрифта: .largeTitle("Papyrus")
Есть ли у кого-нибудь обходной путь?