Czcionka systemowa iPhone'a

98

Jaka jest nazwa domyślnej czcionki systemowej na iPhonie?

Chciałbym to pobrać, aby dostosować plik UIView.

SK9
źródło

Odpowiedzi:

109

Ku radości purystów czcionek na całym świecie, interfejs systemu iPhone'a wykorzystuje Helvetica lub jej wariant.

Oryginalny interfejs systemu iPhone, iPhone 3G i iPhone 3GS korzysta z Helvetica. Jak po raz pierwszy zauważył zawsze doskonały DaringFireball, iPhone 4 wykorzystuje subtelnie poprawioną czcionkę o nazwie „Helvetica Neue”. DaringFireball zauważa również, że ta zmiana jest związana z wyświetlaczem iPhone'a 4, a nie z systemem operacyjnym iOS 4, a starsze modele iPhone'a z systemem iOS 4 nadal używają Helvetica jako czcionki systemowej.

Modele iPoda wydane przed iPhone'em używają Chicago, Espy Sans lub Myriad i używają Helvetica po wydaniu iPhone'a.

Z http://www.everyipod.com/iphone-faq/iphone-who-designed-iphone-font-used-iphone-ringtones.html

W przypadku iOS9 zmienił się na San Fransisco . Więcej informacji można znaleźć pod adresem http://developer.apple.com/fonts .

Gary Willoughby
źródło
6
Obecnie jest to czcionka Helvetica Neue Regular.
Augustine
4
W przypadku iOS9 zmienił się na San Fransisco. Więcej informacji można znaleźć na stronie developer.apple.com/fonts .
Freek Sanders
103

Jeśli robisz programowe dostosowywanie, nie koduj na stałe czcionki systemowej. Zastosowanie UIFont systemFontOfSize:, UIFont boldSystemFontOfSize:a UIFont italicSystemFontOfSize( dokumentacja firmy Apple ).

Stało się to szczególnie istotne od czasu iOS 7, który zmienił czcionkę systemową na Helvetica Neue.

To stało się bardzo szczególnie istotne, ponieważ iOS 9, która zmieniła czcionkę systemową ponownie do San Francisco.

Adam Wright
źródło
1
Nie zamierzam zmieniać czcionki systemowej, to zły pomysł. Ale chcę go dla jakiegoś HTML w UIWebView.
SK9
Nie zmienia to czcionki systemowej - po prostu zapewnia UIFontwystąpienia czcionki systemowej przy użyciu podanych rozmiarów i zawsze zwraca czcionki systemowe, niezależnie od przyszłych aktualizacji systemu iOS.
Adam Wright
Czcionka, którą widzę w moim UIWebView, nie wygląda dla mnie jak Helvetica. Mogę się mylić, ale ustawienie czcionki dla mojego widoku usuwa moje wątpliwości.
SK9
„Nie zakoduj na stałe czcionki systemowej” to dobra rada lub naprawdę zła rada, w zależności od sytuacji. Osobiście żałuję, że nie zakodowałem Helvetica... teraz.
Dan Rosenstark
Całkowicie się zgadzam, proszę nie kodować na stałe. To powinna być właściwa odpowiedź na to pytanie
Esteve
16

afaik iPhone domyślnie używa „ Helvetica ” <iOS 10

Vladimir
źródło
jak widać na podstawie innych odpowiedzi, zależy to od wersji iOS
ericosg
12

Szybki

Określona czcionka

Ustawienie określonej czcionki w Swift odbywa się w następujący sposób:

let myFont = UIFont(name: "Helvetica", size: 17)

Jeśli nie znasz nazwy, możesz uzyskać listę dostępnych nazw czcionek w następujący sposób:

print(UIFont.familyNames())

Lub jeszcze bardziej szczegółową listę, taką jak ta:

for familyName in UIFont.familyNames() {
    print(UIFont.fontNamesForFamilyName(familyName))
}

Ale czcionka systemowa zmienia się z wersji na wersję iOS. Więc byłoby lepiej, gdyby czcionka systemowa była pobierana dynamicznie.

Czcionka systemowa

let myFont = UIFont.systemFontOfSize(17)

Ale mamy zakodowany rozmiar na stałe. A co, jeśli oczy użytkownika są złe i chcą powiększyć czcionkę? Oczywiście możesz wprowadzić ustawienie w swojej aplikacji, aby użytkownik zmienił rozmiar czcionki, ale byłoby to denerwujące, gdyby użytkownik musiał to zrobić osobno dla każdej aplikacji na swoim telefonie. Byłoby łatwiej wprowadzić jedną zmianę w ustawieniach ogólnych ...

Dynamiczna czcionka

let myFont = UIFont.preferredFont(forTextStyle: .body)

Ach, teraz mamy czcionkę systemową w wybranym przez użytkownika rozmiarze dla stylu tekstu, z którym pracujemy. To zalecany sposób ustawiania czcionki. Aby uzyskać więcej informacji na ten temat, zobacz Wspieranie typu dynamicznego .

Związane z

Suragch
źródło
11

Zawsze możesz użyć

UIFont *systemFont = [UIFont systemFontOfSize:12];
NSLog(@"what is it? %@ %@", systemFont.familyName, systemFont.fontName);

Odpowiedź to:

Aż do iOS 6

 Helvetica Helvetica

iOS 7

.Helvetica Neue Interface .HelveticaNeueInterface-M3

ale możesz po prostu użyć Helvetica Neue

Dan Rosenstark
źródło
1
w Swift na iOS 9 otrzymuję .SFUIText-RegularjakosystemFont.familyName
Daniel
@simpleBob Więcej na ten temat: designforhackers.com/blog/apples-new-san-francisco-font
Dan Rosenstark
8

Nie jestem pewien, czy istnieje interfejs API, aby uzyskać domyślną nazwę czcionki systemowej. Więc otrzymuję taką nazwę:

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

Wygląda głupio, ale działa.

perkin tang
źródło
17
UIFont * font = [UIFont systemFontOfSize: 12.0]; <! - pobiera domyślną czcionkę
Steven Baughman
Są łatwiejsze metody. Ale +1 za nieszablonowe
myślenie
Wygląda lepiej: P [UIFont systemFontOfSize:[UIFont labelFontSize]];Zobacz moją odpowiedź poniżej.
Anton Gaenko
3

Oto aktualizacja dotycząca obsługi iOS 7 . Teraz ma Dynamic Font Size.

W przypadku wszystkich aplikacji obsługujących „Typ dynamiczny” użytkownicy mogą wybrać rozmiar czcionki w iOS 7, który działa w całym systemie, po prostu przechodząc do sekcji „Ogólne” w sekcji „Ustawienia” i wybierając „Rozmiar czcionki”.

UIFont *dynamicFont  = [UIFont preferredFontForTextStyle:UIFontTextStyleBody];

Lista stałych, szczegółowe wyjaśnienie jest tutaj

NSString *const UIFontTextStyleHeadline;
NSString *const UIFontTextStyleSubheadline;
NSString *const UIFontTextStyleBody;
NSString *const UIFontTextStyleFootnote;
NSString *const UIFontTextStyleCaption1;
NSString *const UIFontTextStyleCaption2;
BS
źródło
3

Kategoria UIFontSystemFonts for UIFont ( UIInterface.h ) zawiera kilka wygodnych predefiniowanych rozmiarów.

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

Używam go do wiadomości czatu (etykiet) i działa dobrze, gdy chcę uzyskać rozmiar bloków tekstowych.

 [UIFont systemFontOfSize:[UIFont labelFontSize]];

Miłego kodowania!

Anton Gaenko
źródło
3
UIFont *systemFont = [UIFont systemFontOfSize:[UIFont systemFontSize]];

W ten sposób uzyskasz czcionkę systemową z domyślnym rozmiarem czcionki systemowej zastosowanej do tekstów etykiet.

Rohit saraf
źródło
2

Szybki

Należy zawsze używać domyślnych ustawień systemowych, a nie zakodować na stałe nazwy czcionki, ponieważ domyślna czcionka może zostać zmieniona przez Apple w dowolnym momencie.

Istnieje kilka domyślnych czcionek systemowych (normalna, pogrubiona , kursywa ) o różnych rozmiarach (etykieta, przycisk, inne):

let font = UIFont.systemFont(ofSize: UIFont.systemFontSize)
let font2 = UIFont.boldSystemFont(ofSize: UIFont.systemFontSize)
let font3 = UIFont.italicSystemFont(ofSize: UIFont.systemFontSize)

pamiętaj, że domyślny rozmiar czcionki zależy od widoku docelowego (etykieta, przycisk, inne)

Przykłady:

let labelFont = UIFont.systemFont(ofSize: UIFont.labelFontSize)
let buttonFont = UIFont.systemFont(ofSize: UIFont.buttonFontSize)
let textFieldFont = UIFont.systemFont(ofSize: UIFont.systemFontSize)
Musa almatri
źródło
0
  1. pobierz wymagany plik .ttf

  2. dodaj plik .ttf do zasobu paczki kopiowania, sprawdź dokładnie, czy plik ttf został dodany do zasobu

  3. W info.pllist dodaj nazwę pliku ttf taką jaka jest.

  4. teraz otwórz książkę czcionek dodaj plik .ttf do księgi czcionek, wybierz ikonę informacji tam znajdziesz nazwę postscriptową.

  5. teraz podaj nazwę postscriptową w miejsce nazwy czcionki

K.Gowri Manohari
źródło
0

Domyślną czcionką dla iOS jest San Francisco. Możesz skorzystać z linku, aby uzyskać dalsze informacje

Sateesh Pasala
źródło