İPod touch'ımı iOS 7.0.3'e yükselttim ve "HelveticaNeue-Italic" kaybolmuş gibi görünüyor. Telefonla sorguladığımda:
[UIFont fontNamesForFamilyName:@"Helvetica Neue"]
Aşağıdaki fontNames'i alıyorum (13):
HelveticaNeue-BoldItalic,
HelveticaNeue-Light,
HelveticaNeue-UltraLightItalic,
HelveticaNeue-CondensedBold,
HelveticaNeue-MediumItalic,
HelveticaNeue-Thin,
HelveticaNeue-Medium,
HelveticaNeue-ThinItalic,
HelveticaNeue-LightItalic,
HelveticaNeue-UltraLight,
HelveticaNeue-Bold,
HelveticaNeue,
HelveticaNeue-CondensedBlack
Simülatörde aynı sorguyu çalıştırdığımda şunu alıyorum (14):
HelveticaNeue-BoldItalic,
HelveticaNeue-Light,
**HelveticaNeue-Italic,**
HelveticaNeue-UltraLightItalic,
HelveticaNeue-CondensedBold,
HelveticaNeue-MediumItalic,
HelveticaNeue-Thin,
HelveticaNeue-Medium,
HelveticaNeue-Thin_Italic,
HelveticaNeue-LightItalic,
HelveticaNeue-UltraLight,
HelveticaNeue-Bold,
HelveticaNeue,
HelveticaNeue-CondensedBlack
Bunu başka gören var mı?
---- Yeni bilgi ----
WWDC 2013 videosuna geri döndüm "Yazı Tipini Metin Kitiyle Kullanmak" ve ilginç kısım 12: 22'de başlıyor. Sunucu, örnek olarak OS X'teki "MetaFonts" dan bahsediyor. Söylediği şey, aşağıdaki gibi çağrıların altındaki yazı tipinin:
+ (NSFont *)messageFontOfSize:(CGFloat)fontSize
sürümler arasında ve hatta farklı kullanımlar arasında aynı temeldeki yazı tipini döndürme garantisi verilmez. Örneği Lucinda Grande idi. "HelveticaNeue-Italic" kullanımının versiyondan versiyona gidebileceğini söylemiyor gibiydi.
Bu yüzden iOS 7'de bir deney yaptım. Yazı tipimi aşağıdaki kodla oluşturdum:
UIFontDescriptor *fontDescriptor = [UIFontDescriptor fontDescriptorWithName:@"Helvetica Neue" size:16.0];
UIFontDescriptor *symbolicFontDescriptor = [fontDescriptor fontDescriptorWithSymbolicTraits:UIFontDescriptorTraitItalic];
UIFont *fontWithDescriptor = [UIFont fontWithDescriptor:symbolicFontDescriptor size:16.0];
FontWithDescriptor için geçerli bir UIFont aldım ve fontName için fontu sorguladığımda:
[fontWithDescriptor fontName]
Geri aldım...
HelveticaNeue-Italic
Şekil git ???
Dolayısıyla, 7.0.3'ün olası cevabı yukarıdaki kod gibi görünüyor.
---- Daha Fazla Ayarlama ---
Çözüm yukarıda işe yaramasına rağmen resmi olarak doğru olduğunu düşünmüyorum. Aşağıdaki çözüme geçtim
UIFontDescriptor *fontDescriptor = [[UIFontDescriptor alloc] init];
UIFontDescriptor *fontDescriptorForHelveticaNeue = [fontDescriptor fontDescriptorWithFamily:@"Helvetica Neue"];
UIFontDescriptor *symbolicFontDescriptor = [fontDescriptorForHelveticaNeue fontDescriptorWithSymbolicTraits:UIFontDescriptorTraitItalic];
textFont = [UIFont fontWithDescriptor:symbolicFontDescriptor size:textFontPointSize];
Bu, tüm doğru şeyleri yapıyor gibi görünüyor. Önceki yaklaşımı başka bir font ailesiyle denedim ve fontName ve fontFamily ile karıştırılmış gibiydi. Bu yardımcı olur umarım!