2015-12-04 26 views
10

Próbuję dowiedzieć się, jak zmienić styl czcionki na "cienki". Czy ktoś wie, jak to zrobić?Jak zmienić styl czcionki w Swift

Oto moja najlepsza próba, ale to nie działa:

m.font = UIFont(name: "Apple SD Gothic Neo", style: "Thin", size: 8.0) 

Odpowiedz

14

Sposób Widziałem to AppleSDGothicNeo-Thin, nie obowiązuje, a styl Dash. Więc twój kod będzie

m.font = UIFont(name: "AppleSDGothicNeo-Thin", size: 8.0) 

Edit:

doszedłem do zrozumienia, dlaczego używasz czcionki w ten sposób.

Jeśli dodasz niestandardową czcionkę do projektu, ma ona nazwę "SuperAwesomeFont-Light.ttf". Dlatego warto użyć nazwy pliku dla nazwy czcionki.

2

Może to działa:

let font = UIFont(name: "HelveticaNeue-Thin", size: 16.0)! 
+0

Polecam pokazanie, w jaki sposób @ c.o'rear może dodać to do swojej metody. – lukaivicev

+0

Czy koniecznie trzeba go rozpakować? Czy zwraca opcjonalne? – Cesare

6

Masz kłopoty z nazwą czcionki.

Najpierw znajdź właściwą nazwę czcionki i użyj jej.

Najpierw wydrukuj wszystkie ich imiona. A następnie użyj. Przykład kodu pokazuje wszystkie zainstalowane czcionki aplikacji.

func printFonts() { 
    let fontFamilyNames = UIFont.familyNames() 
    for familyName in fontFamilyNames { 
     print("------------------------------") 
     print("Font Family Name = [\(familyName)]") 
     let names = UIFont.fontNamesForFamilyName(familyName) 
     print("Font Names = [\(names)]") 
    } 
} 

A po wykryć Czcionka można ustawić to tak:

m.font = UIFont(name: "AppleSDGothicNeo-Thin", size: 8.0) 
2

Umieścić to na placu zabaw, aby uzyskać poprawne nazwy czcionek, dostępna (aktualizacja do Swift 3.0 na podstawie Olega)

//: Playground - noun: a place where people can play 

import UIKit 

func printFonts() { 
    let fontFamilyNames = UIFont.familyNames 
    for familyName in fontFamilyNames { 
     print("------------------------------") 
     print("Font Family Name = [\(familyName)]") 
     let names = UIFont.fontNames(forFamilyName: familyName) 
     print("Font Names = [\(names)]") 
    } 
} 

printFonts() 
0

lblDes.font = UIFont (nazwa: "HelveticaNeue-UltraLight", rozmiar : 14.0)