2015-08-22 15 views
22

Próbuję zmienić rozmiar czcionki tytułu paska nawigacyjnego. Wiem, że mogę ustawić jego atrybuty, używając:Sposób programowego dostępu do czcionki systemowej iOS

var attributes = [ NSForegroundColorAttributeName: UIColor.blackColor(), NSFontAttributeName: UIFont(name: "the font name", size: 18)! ] 

...

self.navigationController?.navigationBar.titleTextAttributes = attributes 

Nie mogę wydawać się znaleźć jest poprawna „System” nazwa czcionki.

Byłem po domyślnym systemie, a.k.a, nazwie czcionki. Próbowałem drukować wszystkie dostępne czcionki, aby odkryć, że nie należą one do rodziny i nie mają wyraźnej nazwy.

Odpowiedz

58

myślę, że trzeba:

NSFontAttributeName : UIFont.systemFontOfSize(19.0) 

Albo śmiały wersja:

NSFontAttributeName : UIFont.boldSystemFontOfSize(19.0) 

Zobacz this guide uzyskać więcej informacji na temat wytycznych interfejsu użytkownika i czcionek.

+0

Nie powinno być '.boldSystemFontOfSize (17.0)' dla tytułu paska nawigacji? – Razvan

+1

Tak, może być, zależy od tego, co chcesz. Zaktualizowałem swoją odpowiedź. Dzięki! –

+0

Byłoby fajnie, jeśli dodasz to do swojej odpowiedzi: http://ivomynttinen.com/blog/the-ios-7-design-cheat-sheet/ Wielkości czcionek są mnożone dla @ 2x rozdzielczości, więc OP powinien używać czcionki rozmiar/2 z tego artykułu. – Razvan

0

Wypróbuj poniższy kod:

self.navigationController!.navigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name:"Arial", size:14.0)!, NSForegroundColorAttributeName:UIColor.blackColor()] 
1
self.navigationController?.navigationBar.titleTextAttributes = [NSFontAttributeName : UIFont.systemFontOfSize(6)] 
1

wystarczy użyć metody UIFont (SWIFT):

let sysFont: UIFont = UIFont.systemFontOfSize(UIFont.systemFontSize()) 

nadzieję, że to pomaga!

9

Możesz uzyskać dostęp do czcionek systemowych, takich jak to, a nawet ustawić wagę czcionki:

  • Swift 3

    UIFont.systemFont(ofSize: 18, weight: UIFontWeightLight)

  • Swift 2

    UIFont.systemFontOfSize(18, weight: UIFontWeightLight)

Dla wagi czcionki masz wybór między tymi stałymi, tam dostępny od iOS 8.2:

UIFontWeightUltraLight, 
UIFontWeightThin, 
UIFontWeightLight, 
UIFontWeightRegular, 
UIFontWeightMedium, 
UIFontWeightSemibold, 
UIFontWeightBold, 
UIFontWeightHeavy, 
UIFontWeightBlack 
+0

To jest Swift3 ... fajnie! –

+0

Dzięki @ChrisAllinson! – Philippe

1

(zgodnie z odpowiedzią od Philippe do najnowszej wersji)

  • Swift 4

    UIFont.systemFont(ofSize: 18, weight: UIFont.Weight.light)

Powiązane problemy