Czcionka systemowa iPhone'a


98

Jaka jest nazwa domyślnej czcionki systemowej na iPhonie?

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

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 .


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.


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


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


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


1
w Swift na iOS 9 otrzymuję .SFUIText-RegularjakosystemFont.familyName
Daniel


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.


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;

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!


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.


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)

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


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.