UIFont - ince sistem yazı tipi nasıl elde edilir


99

UIFontnormal yazı tipi ( systemFontOfSize) veya kalın yazı tipi (boldSystemFontOfSize , ancak film şeridi aracılığıyla "ince sistem yazı tipi" nasıl elde edilir?

Contructor'a "sistem UIFontinceltici " geçişi çalışmaz, bu yapıcı yalnızca sistem dışı fontlar için çalışır.

Yanıtlar:


267

Sistem yazı tipi ince kalınlığını kullanabilirsiniz:

UIFont.systemFont(ofSize: 34, weight: UIFontWeightThin)

San Francisco için mevcut ağırlıkların listesi:

UIFontWeightUltraLight
UIFontWeightThin
UIFontWeightLight
UIFontWeightRegular
UIFontWeightMedium
UIFontWeightSemibold
UIFontWeightBold
UIFontWeightHeavy
UIFontWeightBlack

san francisco yazı tipi ağırlıkları

İOS 11 itibariyle, UIFontWeight* olarak yeniden adlandırıldı UIFont.Weight.*. Daha fazlasını buradan edinebilirsiniz https://developer.apple.com/documentation/uikit/uifont.weight .


10
Yalnızca iOS 8.2 ve sonraki sürümler için, thnx
Husam

32

İOS 8.2'den itibaren , artık şunları kullanabilirsinizUIFont.systemFontOfSize(_ fontSize: CGFloat, weight weight: CGFloat):

UIFont.systemFontOfSize(19, weight: UIFontWeightLight)

iOS SDK, ağırlıklar için sabitler sağladı:

UIFontWeightUltraLight
UIFontWeightThin
UIFontWeightLight
UIFontWeightRegular
UIFontWeightMedium
UIFontWeightSemibold
UIFontWeightBold
UIFontWeightHeavy

Sistem yazı tiplerini kullanmak, sistem yazı tiplerini kullanmak istediğinizde yazı tipi adına dayalı bir yazı tipi oluşturmaktan daha iyidir, çünkü iOS sistem yazı tiplerini iOS 7'de değiştirebildiği gibi (Helvetica Neue ile iOS 7'de ve şimdi San Francisco'da iOS 9'da yaptıkları gibi) .

Bu yüzden önereceğim şey, bu ttf dosyasını özel yazı tipi olarak kullanmak istediğiniz yazı tipinin TTF dosyasını dahil etmek ve uygulamanızda özel yazı tipini kullanmaktır.

Apple'ı sevmememin özel nedeni bu. Asla Apple'ın dediğine gitme. Her zaman istediğimizi yap. Apple , her işletim sistemi için Varsayılan yazı tipini değiştirmeye devam ediyor .


7

Ayrıca aynı yazı tipi boyutunu korumak ve sadece ağırlığı değiştirmek istiyorsanız, hedeflenen öğe yazı tipi boyutundan kullanın. Örneğin:

demoLabel.font = UIFont.systemFont(ofSize: demoLabel.font.pointSize, weight: UIFontWeightThin)

bununla varsayılan etiket yazı tipi boyutunu koruyabilir ve yalnızca ağırlığı değiştirebilirsiniz.

İOS 11 itibariyle UIFontWeightThin olarak değiştirildi UIFont.Weight.thin. Daha fazlasını buradan edinebilirsiniz https://developer.apple.com/documentation/uikit/uifont.weight .


2

Swift 4.2

 label.font = UIFont.systemFont(ofSize: 15, weight: UIFont.Weight.thin)
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.