2015-09-06 9 views
2

Новые шрифты в Сан-Франциско в iOS 9 оптимизированы для размера, в котором он будет использоваться, путем настройки отслеживания и динамического переключения между SF Display и SF Text. Было отмечено, в WWDC сессии # 804 Разработчики не должны использовать Сан-Франциско, пытаясь инициализировать UIFont с помощью fontWithName, например:Использование шрифтаWithSize API с Сан-Франциско

UIFont *originalFont = [UIFont systemFontOfSize:11]; 
UIFont *newFont = [UIFont fontWithName:originalFont.fontName size:44]; 

Это происходит потому, что система не может оптимизировать шрифт для нового размера при использовании fontWithName API.

Вместо этого было рекомендовано, чтобы получить UIFontDescriptor от оригинального шрифта и создать новый шрифт, что в новом размере, например, так:

UIFont *originalFont = [UIFont systemFontOfSize:11]; 
UIFont *newFont = [UIFont fontWithDescriptor:originalFont.fontDescriptor size:44]; 

Однако они не упоминают, если следующие позволяют оптимизации или нет:

UIFont *originalFont = [UIFont systemFontOfSize:11]; 
UIFont *newFont = [originalFont fontWithSize:44]; 

Мой вопрос, имеет ли fontWithSize API ведут себя как fontWithName API или fontWithDescriptor API - это приводит к оптимизации шрифта для нового размера или нет?

ответ

4

Я могу подтвердить, что fontWithSize действительно создает оптимизированный шрифт в новом размере.

Printing description of originalFont: 
<UICTFont: 0x7f8d9ba85340> font-family: ".SFUIText-Regular"; font-weight: normal; font-style: normal; font-size: 11.00pt 

Printing description of newFont: 
<UICTFont: 0x7f8d9ba7fe70> font-family: ".SFUIDisplay-Regular"; font-weight: normal; font-style: normal; font-size: 44.00pt 

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

  • Нет связанных вопросов^_^