Font sistem iPhone

98

Apa nama font sistem default pada iPhone?

Saya ingin mengambil ini untuk menyesuaikan file UIView.

SK9
sumber

Jawaban:

109

Untuk menyenangkan para pemurni font di mana saja, antarmuka sistem iPhone menggunakan Helvetica atau variannya.

Antarmuka sistem iPhone, iPhone 3G, dan iPhone 3GS asli menggunakan Helvetica. Seperti yang pertama kali dicatat oleh DaringFireball yang selalu luar biasa, iPhone 4 menggunakan font yang direvisi secara halus yang disebut "Helvetica Neue." DaringFireball juga mencatat bahwa perubahan ini terkait dengan tampilan iPhone 4 daripada sistem operasi iOS 4 dan model iPhone lama yang menjalankan iOS 4 masih menggunakan Helvetica sebagai font sistem.

Model iPod yang dirilis sebelum iPhone menggunakan Chicago, Espy Sans, atau Myriad dan menggunakan Helvetica setelah iPhone dirilis.

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

Untuk iOS9 telah berubah menjadi San Fransisco . Lihat http://developer.apple.com/fonts untuk info lebih lanjut.

Gary Willoughby
sumber
6
Saat ini adalah font Helvetica Neue Regular.
Augustine
4
Untuk iOS9 telah berubah menjadi San Fransisco. Lihat developer.apple.com/fonts untuk info lebih lanjut.
Freek Sanders
103

Jika Anda melakukan kustomisasi programatik, jangan kode keras font sistem. Gunakan UIFont systemFontOfSize:, UIFont boldSystemFontOfSize:dan UIFont italicSystemFontOfSize( dokumentasi Apple ).

Ini menjadi sangat relevan sejak iOS 7, yang mengubah font sistem menjadi Helvetica Neue.

Hal ini menjadi sangat relevan terutama sejak iOS 9, yang mengubah font sistem lagi ke San Francisco.

Adam Wright
sumber
1
Saya tidak akan mengubah font sistem, itu ide yang buruk. Tapi saya menginginkannya untuk beberapa html di UIWebView.
SK9
Ini tidak mengubah font sistem - ini hanya memberi Anda UIFontcontoh font sistem menggunakan ukuran yang diberikan, dan akan selalu mengembalikan font sistem terlepas dari pembaruan iOS di masa mendatang.
Adam Wright
Font yang saya lihat di UIWebView saya tidak terlihat seperti Helvetica bagi saya. Saya mungkin salah tetapi mengatur font untuk pandangan saya menghilangkan keraguan saya.
SK9
"Jangan kode keras font sistem" adalah nasihat yang baik, atau saran yang sangat buruk, tergantung pada situasinya. Secara pribadi, saya berharap saya telah Helveticamelakukan hardcode ... melakukan itu sekarang.
Dan Rosenstark
Setuju sekali, jangan hardcode, tolong. Ini harus menjadi jawaban yang benar untuk pertanyaan ini
Esteve
16

afaik iPhone menggunakan " Helvetica " secara default <iOS 10

Vladimir
sumber
seperti yang terlihat pada jawaban lain, itu tergantung pada versi iOS
ericosg
12

Cepat

Font khusus

Mengatur font tertentu di Swift dilakukan seperti ini:

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

Jika Anda tidak tahu namanya, Anda bisa mendapatkan daftar nama font yang tersedia seperti ini:

print(UIFont.familyNames())

Atau daftar yang lebih detail seperti ini:

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

Tetapi font sistem berubah dari versi ke versi iOS. Jadi akan lebih baik untuk mendapatkan font sistem secara dinamis.

Font sistem

let myFont = UIFont.systemFontOfSize(17)

Tapi kami memiliki ukuran hard-code. Bagaimana jika mata pengguna buruk dan mereka ingin memperbesar font? Tentu saja, Anda dapat membuat pengaturan di aplikasi Anda agar pengguna dapat mengubah ukuran font, tetapi ini akan mengganggu jika pengguna harus melakukan ini secara terpisah untuk setiap aplikasi di ponsel mereka. Akan lebih mudah untuk hanya membuat satu perubahan dalam pengaturan umum ...

Font dinamis

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

Ah, sekarang kami memiliki font sistem dengan ukuran yang dipilih pengguna untuk Gaya Teks yang kami kerjakan. Ini adalah cara yang disarankan untuk mengatur fonta. Lihat Mendukung Jenis Dinamis untuk info lebih lanjut tentang ini.

Terkait

Suragch
sumber
11

Anda selalu bisa menggunakan

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

Jawabannya adalah:

Hingga iOS 6

 Helvetica Helvetica

IOS 7

.Helvetica Neue Interface .HelveticaNeueInterface-M3

tetapi Anda bisa menggunakan Helvetica Neue

Dan Rosenstark
sumber
1
di Swift di iOS 9 saya dapatkan .SFUIText-RegularsebagaisystemFont.familyName
Daniel
@simpleBob Selengkapnya tentang itu: designforhackers.com/blog/apples-new-san-francisco-font
Dan Rosenstark
8

Saya tidak yakin ada api untuk mendapatkan nama font sistem default. Jadi saya hanya mendapatkan nama seperti ini:

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

Terlihat bodoh tapi berhasil.

perkin tang
sumber
17
UIFont * font = [UIFont systemFontOfSize: 12.0]; <! - mendapat font default
Steven Baughman
Ada metode yang lebih mudah .. Tapi +1 untuk berpikir di luar kotak
Krishnabhadra
Kelihatannya lebih baik: P [UIFont systemFontOfSize:[UIFont labelFontSize]];Lihat jawaban saya di bawah.
Anton Gaenko
3

Berikut ini beberapa pembaruan untuk mendukung iOS 7 . Sekarang sudah Dynamic Font Size.

Untuk setiap dan semua aplikasi yang mendukung "Jenis Dinamis", pengguna dapat memilih ukuran font di iOS 7 yang berfungsi di seluruh sistem, cukup dengan mengunjungi bagian "Umum" di bawah "Setelan" dan memilih "Ukuran Font".

UIFont *dynamicFont  = [UIFont preferredFontForTextStyle:UIFontTextStyleBody];

Dan daftar konstanta, penjelasan rinci ada di sini

NSString *const UIFontTextStyleHeadline;
NSString *const UIFontTextStyleSubheadline;
NSString *const UIFontTextStyleBody;
NSString *const UIFontTextStyleFootnote;
NSString *const UIFontTextStyleCaption1;
NSString *const UIFontTextStyleCaption2;
BS
sumber
3

Kategori UIFontSystemFonts untuk UIFont ( UIInterface.h ) menyediakan beberapa ukuran standar nyaman.

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

Saya menggunakannya untuk pesan obrolan (label) dan berfungsi dengan baik ketika saya perlu mendapatkan ukuran blok teks.

 [UIFont systemFontOfSize:[UIFont labelFontSize]];

Selamat membuat kode!

Anton Gaenko
sumber
3
UIFont *systemFont = [UIFont systemFontOfSize:[UIFont systemFontSize]];

Ini akan memberi Anda font sistem dengan ukuran font sistem default yang diterapkan untuk teks label secara default.

Saraf Rohit
sumber
2

Cepat

Anda harus selalu menggunakan default sistem dan tidak melakukan hard coding nama font karena font default dapat diubah oleh Apple kapan saja.

Ada beberapa jenis huruf default sistem (normal, tebal , miring ) dengan ukuran berbeda (label, tombol, lainnya):

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

Ketahuilah bahwa ukuran font default tergantung pada tampilan target (label, tombol, lainnya)

Contoh:

let labelFont = UIFont.systemFont(ofSize: UIFont.labelFontSize)
let buttonFont = UIFont.systemFont(ofSize: UIFont.buttonFontSize)
let textFieldFont = UIFont.systemFont(ofSize: UIFont.systemFontSize)
Musa almatri
sumber
0
  1. download file .ttf yang dibutuhkan

  2. tambahkan file .ttf di bawah sumber daya bundel salinan, periksa kembali apakah file ttf ditambahkan di bawah sumber daya

  3. Di info.pllist tambahkan nama file ttf apa adanya.

  4. sekarang buka buku font tambahkan file .ttf di buku font, pilih ikon informasi di sana Anda menemukan nama postscript.

  5. sekarang beri nama postscript di tempat nama font

K. Gowri Manohari
sumber
0

Font default untuk iOS adalah San Francisco. Anda dapat merujuk tautan untuk detail lebih lanjut

Sateesh Pasala
sumber