Шрифт системи iPhone


98

Як називається системний шрифт за замовчуванням на iPhone?

Я хотів би отримати це для налаштування UIView.

Відповіді:


109

На радість шрифтам, що витікають скрізь, в системному інтерфейсі 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 .


6
Наразі це шрифт Helvetica Neue Regular.
Августин

4
Для iOS9 він змінився на San Fransisco. Докладнішу інформацію див. У розділі developer.apple.com/fonts .
Френк Сандерс

103

Якщо ви робите програмне налаштування, не важко кодуйте шрифт системи. Використання UIFont systemFontOfSize:, UIFont boldSystemFontOfSize:і UIFont italicSystemFontOfSize( Apple , документація ).

Це стало особливо актуальним після iOS 7, який змінив шрифт системи на Helvetica Neue.

Це стало супер особливо актуально , так як прошивкою 9, який змінив системний шрифт знову в Сан - Франциско.


1
Я не збираюся змінювати шрифт системи, це погана ідея. Але я хочу його для деяких html в UIWebView.
SK9

Це не змінює системний шрифт - він просто надає вам UIFontекземпляри системного шрифту, використовуючи задані розміри, і завжди поверне системні шрифти незалежно від майбутніх оновлень iOS.
Адам Райт

Шрифт, який я бачу в своєму UIWebView, не схожий на Helvetica. Я можу помилитися, але встановлення шрифту для мого перегляду знімає сумніви.
SK9

"Не важко кодуйте шрифт системи" - це корисна порада, або дуже погана порада, залежно від ситуації. Особисто мені б хотілося, щоб я був жорстким кодом Helvetica... роблю це зараз.
Dan Rosenstark

Цілком погоджуйтесь, не твердьте, будь ласка. Це має бути правильна відповідь на це питання
Естеве

16

afaik iPhone за замовчуванням використовує " Helvetica " <iOS 10


як видно з інших відповідей, це залежить від версії iOS
ericosg

12

Швидкий

Конкретний шрифт

Встановлення певного шрифту в 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)

Ах, тепер у нас є шрифт системи за обраним користувачем розміром для стилю тексту, з яким ми працюємо. Це рекомендований спосіб налаштування шрифту. Докладніше про це див. У розділі Підтримка динамічного типу .

Пов'язані


11

Ви завжди можете використовувати

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


1
в Swift на iOS 9 отримую .SFUIText-RegularякsystemFont.familyName
Даніель


8

Я не впевнений, чи існує api, щоб отримати ім'я шрифту системи за замовчуванням. Тому я просто отримую таке ім'я:

    //get system default font
    UILabel *label = [[UILabel alloc] init];        
    fontname = label.font.fontName;
    [label release];

Виглядає дурно, але це працює.


17
UIFont * font = [UIFont systemFontOfSize: 12.0]; <! - отримує шрифт за замовчуванням
Стівен Бафман

Існують простіші методи. Але +1 для роздумів
Кришнабхадра

Це виглядає краще: P [UIFont systemFontOfSize:[UIFont labelFontSize]];Дивіться мою відповідь нижче.
Антон Гаєнко

3

Ось кілька оновлень для підтримки 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;

3

Категорія UIFontSystemFonts для UIFont ( UIInterface.h ) надає кілька зручних встановлених розмірів.

@interface UIFont (UIFontSystemFonts)
 + (CGFloat)labelFontSize;
 + (CGFloat)buttonFontSize;
 + (CGFloat)smallSystemFontSize;
 + (CGFloat)systemFontSize;
@end 

Я використовую його для повідомлень чату (міток), і він добре працює, коли мені потрібно отримати розмір текстових блоків.

 [UIFont systemFontOfSize:[UIFont labelFontSize]];

Щасливого кодування!


3
UIFont *systemFont = [UIFont systemFontOfSize:[UIFont systemFontSize]];

Це дасть вам шрифт системи з розміром шрифту за замовчуванням, застосованим для текстів етикетки за замовчуванням.


2

Швидкий

Ви завжди повинні використовувати системні настройки за замовчуванням і не важко кодувати ім'я шрифту, оскільки шрифт за замовчуванням 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)

0
  1. завантажити необхідний .ttf файл

  2. додайте .ttf файл під ресурс пакета копіювання, двічі перевірте, чи додано файл ttf під ресурс

  3. У info.pllist додайте ім'я файлу ttf таким, яким воно є.

  4. тепер відкрийте книгу шрифтів, додайте .ttf файл у книгу шрифтів, виберіть значок інформації там, де ви знайдете ім'я постскрипту.

  5. тепер дайте ім'я післяскрипту замість імені шрифту


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.