बस मेरे आइपॉड टच को iOS 7.0.3 में अपग्रेड किया गया और "हेल्वेटिकाएयू-इटैलिक" गायब हो गया। जब मैं फोन पर क्वेरी करता हूं:
[UIFont fontNamesForFamilyName:@"Helvetica Neue"]
मुझे निम्नलिखित फ़ॉन्ट मिलते हैं (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
जब मैं सिम्युलेटर में चल रही समान क्वेरी (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
इसे कोई और देखे?
---- नई जानकारी ----
मैं WWDC 2013 के वीडियो "टेक्स्ट किट के साथ फॉन्ट का उपयोग करना" पर वापस चला गया और दिलचस्प भाग 12:22 से शुरू होता है। प्रस्तुतकर्ता एक उदाहरण के रूप में ओएस एक्स में "मेटाफोन्स" के बारे में बात करता है। वह क्या कहता है कि जैसे कॉल के तहत फ़ॉन्ट:
+ (NSFont *)messageFontOfSize:(CGFloat)fontSize
संस्करणों या अलग-अलग उपयोगों में समान अंतर्निहित फ़ॉन्ट वापस करने की गारंटी नहीं है। उसका उदाहरण लुसिंडा ग्रांडे था। वह यह कहते हुए नहीं लग रहा था कि "हेल्वेटिकाएन्यू-इटैलिक" का उपयोग करके संस्करण से दूसरे संस्करण में जाया जा सकता है।
इसलिए मैंने iOS 7 में एक प्रयोग किया। मैंने निम्न कोड के साथ अपना फ़ॉन्ट बनाया:
UIFontDescriptor *fontDescriptor = [UIFontDescriptor fontDescriptorWithName:@"Helvetica Neue" size:16.0];
UIFontDescriptor *symbolicFontDescriptor = [fontDescriptor fontDescriptorWithSymbolicTraits:UIFontDescriptorTraitItalic];
UIFont *fontWithDescriptor = [UIFont fontWithDescriptor:symbolicFontDescriptor size:16.0];
मुझे FontWithDescriptor के लिए एक वैध UIFont वापस मिल गया और जब मैंने फ़ॉन्ट के लिए फ़ॉन्ट को छोड़ दिया:
[fontWithDescriptor fontName]
मुझे वापिस मिला...
HelveticaNeue-Italic
जाओ पता लगाओ???
तो 7.0.3 का संभावित उत्तर उपरोक्त कोड प्रतीत होता है।
---- आगे टीक ----
हालांकि समाधान ऊपर काम किया है, मुझे नहीं लगता कि यह औपचारिक रूप से सही है। मैंने निम्नलिखित समाधान पर स्विच किया है
UIFontDescriptor *fontDescriptor = [[UIFontDescriptor alloc] init];
UIFontDescriptor *fontDescriptorForHelveticaNeue = [fontDescriptor fontDescriptorWithFamily:@"Helvetica Neue"];
UIFontDescriptor *symbolicFontDescriptor = [fontDescriptorForHelveticaNeue fontDescriptorWithSymbolicTraits:UIFontDescriptorTraitItalic];
textFont = [UIFont fontWithDescriptor:symbolicFontDescriptor size:textFontPointSize];
यह सभी सही काम करता प्रतीत होता है। मैंने एक और फ़ॉन्ट परिवार के साथ पिछले दृष्टिकोण की कोशिश की और यह फ़ॉन्टनेम और फ़ॉन्टफैमिली के साथ भ्रमित हो गया। उम्मीद है की यह मदद करेगा!