Каково имя системного шрифта по умолчанию на iPhone?
Я хотел бы получить это для настройки UIView
.
Каково имя системного шрифта по умолчанию на 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 использует либо Чикаго, и Espy Sans, или Myriad и использовать Helvetica после релиз iPhone.
От http://www.everyipod.com/iphone-faq/iphone-who-designed-iphone-font-used-iphone-ringtones.html
Для iOS9 он изменился на San Fransisco. Подробнее см. http://developer.apple.com/fonts.
Если вы выполняете программную настройку, не производите жесткий код системного шрифта. Используйте UIFont systemFontOfSize:
, UIFont boldSystemFontOfSize:
и UIFont italicSystemFontOfSize
(документация Apple).
Это стало особенно актуальным с iOS 7, который изменил системный шрифт на Helvetica Neue.
Это стало особенно актуальным, так как iOS 9, который снова изменил системный шрифт в Сан-Франциско.
afaik iPhone использует " Helvetica" по умолчанию < iOS 10
Вы всегда можете использовать
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
Конкретный шрифт
Установка определенного шрифта в 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)
Ах, теперь у нас есть системный шрифт с выбранным пользователем размером для стиля текста, с которым мы работаем. Это рекомендуемый способ установки шрифта. Посмотрите Поддерживающий Динамический Тип для получения дополнительной информации об этом.
Я не уверен, что есть api, чтобы получить имя системного шрифта по умолчанию. Поэтому я просто получаю следующее имя:
//get system default font
UILabel *label = [[UILabel alloc] init];
fontname = label.font.fontName;
[label release];
Выглядит глупо, но он работает.
Вот несколько обновлений для поддержки 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 в книгу шрифтов, выберите значок информации, там вы найдете название постскриптума.
теперь дайте название постскриптума вместо названия шрифта
Шрифт по умолчанию для iOS - Сан-Франциско. Вы можете ссылаться на ссылку для получения более подробной информации