Как называется системный шрифт по умолчанию на iPhone?
Я хотел бы получить это для настройки файла UIView
.
Ответы:
К радости сторонников шрифтов во всем мире, в системном интерфейсе iPhone используется Helvetica или ее вариант.
В исходном системном интерфейсе iPhone, iPhone 3G и iPhone 3GS используется Helvetica. Как впервые заметил неизменно превосходный DaringFireball, в iPhone 4 используется слегка измененный шрифт под названием «Helvetica Neue». DaringFireball также отмечает, что это изменение связано с дисплеем iPhone 4, а не с операционной системой iOS 4, а старые модели iPhone под управлением iOS 4 по-прежнему используют Helvetica в качестве системного шрифта.
В моделях iPod, выпущенных до iPhone, используются либо Chicago, Espy Sans, либо Myriad, а после выпуска iPhone - Helvetica.
С http://www.everyipod.com/iphone-faq/iphone-who-designed-iphone-font-used-iphone-ringtones.html.
Для iOS9 он изменился на Сан-Франциско . См. Http://developer.apple.com/fonts для получения дополнительной информации.
Если вы выполняете программную настройку, не кодируйте системный шрифт жестко. Используйте UIFont systemFontOfSize:
, UIFont boldSystemFontOfSize:
и UIFont italicSystemFontOfSize
( документация Apple ).
Это стало особенно актуальным после выхода iOS 7, в которой системный шрифт был изменен на Helvetica Neue.
Это стало супер особенно актуально , так как прошивкой 9, который изменил системный шрифт снова в Сан - Франциско.
UIFont
экземпляры системного шрифта с заданными размерами и всегда будет возвращать системные шрифты независимо от будущих обновлений iOS.
Helvetica
... сделать это сейчас.
Определенный шрифт
Установка конкретного шрифта в Swift выполняется так:
let myFont = UIFont(name: "Helvetica", size: 17)
Если вы не знаете имя, вы можете получить список доступных имен шрифтов следующим образом:
print(UIFont.familyNames())
Или еще более подробный список вроде этого:
for familyName in UIFont.familyNames() {
print(UIFont.fontNamesForFamilyName(familyName))
}
Но системный шрифт меняется от версии к версии iOS. Так что лучше бы системный шрифт получать динамически.
Системный шрифт
let myFont = UIFont.systemFontOfSize(17)
Но размер у нас жестко запрограммирован. Что, если у пользователя плохие глаза, и он хочет увеличить шрифт? Конечно, вы можете настроить в своем приложении, чтобы пользователь изменял размер шрифта, но это было бы неприятно, если бы пользователю приходилось делать это отдельно для каждого приложения на своем телефоне. Было бы проще внести одно изменение в общие настройки ...
Динамический шрифт
let myFont = UIFont.preferredFont(forTextStyle: .body)
А, теперь у нас есть системный шрифт с размером, выбранным пользователем для стиля текста, с которым мы работаем. Это рекомендуемый способ установки шрифта. Дополнительную информацию см. В разделе « Поддержка динамического типа» .
Вы всегда можете использовать
UIFont *systemFont = [UIFont systemFontOfSize:12];
NSLog(@"what is it? %@ %@", systemFont.familyName, systemFont.fontName);
Ответ:
До iOS 6
Helvetica Helvetica
IOS 7
.Helvetica Neue Interface .HelveticaNeueInterface-M3
но вы можете просто использовать Helvetica Neue
.SFUIText-Regular
какsystemFont.familyName
Я не уверен, что есть API для получения имени системного шрифта по умолчанию. Так что я получил такое имя:
//get system default font
UILabel *label = [[UILabel alloc] init];
fontname = label.font.fontName;
[label release];
Выглядит глупо, но работает.
[UIFont systemFontOfSize:[UIFont labelFontSize]];
См. Мой ответ ниже.
Вот некоторые обновления для поддержки iOS 7 . Теперь есть Dynamic Font Size
.
Для любых приложений, поддерживающих «Динамический тип», пользователи могут выбрать размер шрифта в iOS 7, который работает в масштабах всей системы, просто зайдя в раздел «Общие» в «Настройки» и выбрав «Размер шрифта».
UIFont *dynamicFont = [UIFont preferredFontForTextStyle:UIFontTextStyleBody];
И список констант, подробное объяснение здесь
NSString *const UIFontTextStyleHeadline;
NSString *const UIFontTextStyleSubheadline;
NSString *const UIFontTextStyleBody;
NSString *const UIFontTextStyleFootnote;
NSString *const UIFontTextStyleCaption1;
NSString *const UIFontTextStyleCaption2;
Категория UIFontSystemFonts для UIFont ( UIInterface.h ) предоставляет несколько удобных предопределенных размеров.
@interface UIFont (UIFontSystemFonts)
+ (CGFloat)labelFontSize;
+ (CGFloat)buttonFontSize;
+ (CGFloat)smallSystemFontSize;
+ (CGFloat)systemFontSize;
@end
Я использую его для сообщений чата (ярлыков), и он хорошо работает, когда мне нужно получить размер текстовых блоков.
[UIFont systemFontOfSize:[UIFont labelFontSize]];
Удачного кодирования!
UIFont *systemFont = [UIFont systemFontOfSize:[UIFont systemFontSize]];
Это даст вам системный шрифт с размером системного шрифта по умолчанию, применяемым для текстов меток по умолчанию.
Swift
Вы всегда должны использовать системные настройки по умолчанию и не жестко кодировать имя шрифта, потому что шрифт по умолчанию может быть изменен Apple в любое время.
Есть несколько системных шрифтов по умолчанию (обычный, полужирный , курсив ) с разными размерами (метка, кнопка и другие):
let font = UIFont.systemFont(ofSize: UIFont.systemFontSize)
let font2 = UIFont.boldSystemFont(ofSize: UIFont.systemFontSize)
let font3 = UIFont.italicSystemFont(ofSize: UIFont.systemFontSize)
помните, что размер шрифта по умолчанию зависит от целевого представления (метка, кнопка, другие)
Примеры:
let labelFont = UIFont.systemFont(ofSize: UIFont.labelFontSize)
let buttonFont = UIFont.systemFont(ofSize: UIFont.buttonFontSize)
let textFieldFont = UIFont.systemFont(ofSize: UIFont.systemFontSize)
скачать необходимый файл .ttf
добавьте файл .ttf в ресурс пакета копирования, дважды проверьте, добавлен ли файл ttf в ресурс
В info.pllist добавьте имя ttf-файла как есть.
Теперь откройте книгу шрифтов, добавьте файл .ttf в книгу шрифтов, выберите значок информации, там вы найдете имя postscript.
теперь дайте название постскриптума вместо названия шрифта
Шрифт по умолчанию для iOS - San Francisco. Вы можете обратиться по ссылке для получения дополнительной информации