2015-08-20 1 views
2

Я пытаюсь использовать тот же самый шрифт в UIWebView на iOS, который использует система iOS в настоящее время.Как получить эквивалент UIWebView системного шрифта iOS 8?

Это означает, что я хочу использовать тот же шрифт, что я получаю от:

UIFontDescriptor *fd; 
fd = [UIFontDescriptor preferredFontDescriptorWithTextStyle:UIFontTextStyleBody]; 
UIFont *font = [UIFont fontWithDescriptor:fd size:0]; 

Есть много ответов на SO (iPhone Development - Setting UIWebView font, Using custom font in a UIWebView, How to change UIWebView default font, How to set custom font in UIWebView?), которые объясняют, как встроить UIFont-х FamilyName или Fontname в атрибуты стиля HTML-в, делая это:

NSString *fontStyle, *htmlString = @"test"; 
fontStyle = [NSString stringWithFormat:@"font-family:%@;font-size:%d", font.familyName, (int)font.pointSize]; 
htmlString = NSString stringWithFormat:@"<span style=\"%@\">%@</span>", fontStyle, htmlString]; 

Но это не похоже на работу на прошивке 7 и 8 больше, где эти названия системы шрифтов теперь нравится:

font.fontName: .HelveticaNeueInterface-Regular 
font.familyName: .Helvetica Neue Interface 

При использовании этих имен в UIWebView с «семейство шрифтов» атрибут, текст визуализируется в шрифт по умолчанию (с засечками и, конечно, не новый IOS шрифтов системы). Удаление ведущего периода тоже не помогает.

Итак, как мне теперь перевести шрифт системы в имя, которое правильно интерпретируется веб-кит?

Пожалуйста, поймите, что я ищу универсальное решение и не просто ищу имя iOS 7/8, которое я могу вставить вручную в атрибут стиля html.

ответ

3

Я просто побежал в this blog article, который может предложить решение, хотя я не проверял это еще:

Если вы пытаетесь сослаться на системный шрифт в веб-просмотров только предварять -apple-system в список семейство шрифтов и он будет использовать SF в iOS 9 и Helvetica в более старых версиях.

Это означает, что шрифт линия выше кода должно быть изменение:

fontStyle = [NSString stringWithFormat:@"font-family:-apple-system,Helvetica Neue;font-size:%d", (int)font.pointSize]; 

Это должно заботиться о выборе системного шрифта с прошивкой 7 и далее.

0

Вы попробовали Helvetica или San Francisco с прикрепленными файлами шрифтов?

+0

Я не вижу, как это полезно для моего вопроса. –

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

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