Tworzę grę i chciałbym użyć niestandardowej czcionki w mojej aplikacji. Używam do tego SpriteKit, jeśli to ważne. Próbowałem użyć tego https://github.com/deni2s/IBCustomFonts, ale nie mogę zmusić go do pracy z tą czcionką http://www.fontspace.com/freaky-fonts/emulogic
Próbowałem różnych rzeczy i zarejestrowałem czcionkę na info.plist aplikacji ... Czy ktoś wie, co się dzieje?
Odpowiedzi:
Przede wszystkim zakładam, że SpriteKit nie robi żadnej różnicy.
Na koniec chciałbyś wyświetlić listę wszystkich czcionek po uruchomieniu aplikacji, aby zobaczyć użyteczną nazwę czcionki. Zrobisz to za pomocą tego małego fragmentu kodu:
Wyszukaj swoją czcionkę w wydrukowanych wynikach, na przykład wyszukałbym „Josefin” i zobaczyłbym, że rzeczywista nazwa czcionki to „JosefinSansStd-Light”. Następnie wystarczy użyć tej czcionki przez:
W iOS8 dodajesz swoje czcionki bezpośrednio do projektu i są one widoczne w kreatorze interfejsu. Zmodyfikuj kod, aby uwzględnić to, ale programowo ustawiając czcionkę dla systemu iOS7 i wybierając ją w konstruktorze interfejsu xCode6. PS. Kreator interfejsu w xCode6 podaje poprawną nazwę czcionki, którą możesz skopiować i wkleić do poniższego kodu.
Mam nadzieję, że to pomoże.
źródło
UIAppFonts
let fontFamilies = UIFont.familyNames() for familyName in fontFamilies { let fontNames = UIFont.fontNamesForFamilyName(familyName as String) println("\(familyName): \(fontNames)") }
for name in UIFont.familyNames() { debugPrint(UIFont.fontNamesForFamilyName(name)) }
Nie ma problemu z użyciem niestandardowych czcionek, zrobiłem to. Wykonaj następujące kroki:
I rada, dodaj tę nazwę jako makro w pliku ..Prefix.pch. Łatwiej będzie go użyć w swoim projekcie, jeśli będziesz musiał użyć czcionki wielokrotnie.
Wydaje mi się, że problem, który miałeś, polega na tym, że poprawnie zarejestrowałeś czcionkę, ale nie została skopiowana do pakietu aplikacji. Kiedy więc aplikacja została wykonana, nie mogła znaleźć czcionki. Dlatego ważny jest krok 2. Spędziłem dużo czasu, próbując to rozgryźć za pierwszym razem :)
źródło
Aby osiągnąć to szybko
Jeśli chcesz wyświetlić listę wszystkich czcionek, gdy aplikacja jest uruchamiana, tylko po to, aby zobaczyć użyteczną nazwę czcionki. Możesz to zrobić za pomocą tego małego fragmentu kodu:
źródło
UIFont.familyNames.forEach { print("fontFamily: \($0), fonts: \(UIFont.fontNames(forFamilyName: $0))") }
Nigdy nie byłem w stanie uzyskać tych odpowiedzi, próbując wiele razy. Jedyny sposób, w jaki kiedykolwiek otrzymałem niestandardową czcionkę, aby postępować zgodnie z instrukcjami w zaakceptowanej odpowiedzi, a następnie utworzyć ukrytą etykietę w scenorysie, która używa czcionki. Potrafię programowo używać czcionki. Wiem, że dziwne i zepsute, ale dla mnie zadziałało.
źródło
Jeśli korzystasz z Xcode 6, jest to tak proste, jak to tylko możliwe. Po prostu dodaj
font
folder do swojego projektu, dodaj czcionki do folderu i gotowe.źródło
Jeśli żadna z powyższych metod nie zadziałała, ORAZ zdarza się, że używasz swojej niestandardowej czcionki tylko „programowo” (tj. Nie używałeś jej w żadnym xib), to będziesz musiał jej użyć przynajmniej raz gdzieś w jednym xib, gdziekolwiek .
(PS Stuart Clark - już na to odpowiedział, więc nie ma dla mnie uznania. Jednak zdecydowałem się przeformułować i zamieścić to jako osobną odpowiedź, ponieważ przegapiłem jego odpowiedź, nie było dla mnie jasne, kiedy ją przeczytałem. to rozwiązanie przypadkowo, gdy testowałem niestandardową czcionkę w xib i zobaczyłem, że działa ono w innym miejscu programowo, ale kiedy usunąłem czcionkę z xib, przestało działać programowo.)
źródło
Zaktualizowano dla Swift 3.
źródło
Może szybka poprawka - zrobiło to dla mnie, gdy czcionka już działała, ale nowa np. Label nie pokazała żądanej czcionki:
czysty, głęboko czysty i pusty folder danych pochodnych.
źródło
źródło