Öncelikle SpriteKit'in herhangi bir fark yaratmadığını varsayıyorum.
- Yazı tipinizin .otf veya .ttf biçiminde projenize kopyalanması gerekir. Örneğin Supporting Files'da.
- .Plist dosyasını düzenlemeniz gerekiyor . Ekle "uygulaması tarafından sağlanan yazı tipleri" senin plist içine ve anahtarın Madde 0 uzantı İLE sizin Destekleyici dosyalara kopyalanan yazı tam dosya adını kopyalayın. Örneğin: "JosefinSansStd-Light_0.otf"
- Uygulamanıza aktardığınız yazı tipinin uygulamanın kendisinde paketlendiğinden emin olun. Bunu Hedefinizi seçerek yapın , ardından Aşamaları Oluşturun , ardından Paket Kaynaklarını Kopyalayın . Yazı tipinizi orada görmüyorsanız, Destekleyici Dosyalar'dan sürükleyin .
Son olarak, uygulama yalnızca yazı tipiniz için kullanılabilir bir ad görmek için başladığında tüm yazı tiplerinizi listelemek istersiniz. Bunu bu küçük kod parçasıyla yapacaksın:
NSArray *fontFamilies = [UIFont familyNames];
for (int i = 0; i < [fontFamilies count]; i++)
{
NSString *fontFamily = [fontFamilies objectAtIndex:i];
NSArray *fontNames = [UIFont fontNamesForFamilyName:[fontFamilies objectAtIndex:i]];
NSLog (@"%@: %@", fontFamily, fontNames);
}
Yazı tipinizi basılı sonuçlarda arayın, örneğin "Josefin" için arama yapardım ve gerçek yazı tipi adının "JosefinSansStd-Light" olduğunu görürdüm. Bundan sonra, bu yazı tipini yalnızca şu şekilde kullanmanız gerekir:
UIFont *customFont = [UIFont fontWithName:@"JosefinSansStd-Light" size:20];
İOS8'de fontlarınızı doğrudan projeye eklersiniz ve bunlar arayüz oluşturucuda görülebilir. Kodunuzu bunu hesaba katacak şekilde değiştirin, ancak iOS7 için programlı olarak yazı tipini ayarlayın ve xCode6 arabirim oluşturucusunda seçin. PS. XCode6'daki arayüz oluşturucu, aşağıdaki koda kopyalayıp yapıştırabileceğiniz doğru yazı tipi adını verir.
#define SYSTEM_VERSION_LESS_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)
if(SYSTEM_VERSION_LESS_THAN(@"8.0"))
{
UIFont *customFont = [UIFont fontWithName:@"OpenSans-Light" size:32];
self.registerLabel.font = customFont;
}
Umarım bu yardımcı olur, şerefe.