2010-10-01 7 views
16

कस्टम फ़ॉन्ट के साथ यूआईएफओटी ऑब्जेक्ट प्राप्त करने के लिए मुझे क्या करना चाहिए? मुझे याद है कि Info.plist फ़ाइल में कुछ भी चल रहा था।किसी आईफोन ऐप में कस्टम फोंट कैसे जोड़ें?

क्या फ़ॉन्ट फ़ाइल प्रारूप समर्थित हैं?

+4

संभावित डुप्लिकेट [क्या मैं एक आईफोन एप्लिकेशन में कस्टम फ़ॉन्ट एम्बेड कर सकता हूं?] (Http://stackoverflow.com/questions/360751/can-i-embed-a-custom-font-in-an-iphone- आवेदन) –

+0

सहायक ट्यूटोरियल: http://codewithchris.com/common-mistakes-with-adding-custom-fonts-to-your-ios-app/ – Suragch

उत्तर

52

अपने एप्लिकेशन में एक कस्टम फ़ॉन्ट जोड़ने के लिए, आप उन्हें एक्सकोड प्रोजेक्ट में जोड़ सकते हैं। फिर, एप्लिकेशन-info.plist फ़ाइल को संशोधित करें। एक नई पंक्ति में "एप्लिकेशन द्वारा प्रदान किए गए फ़ॉन्ट" कुंजी जोड़ें। आपके द्वारा जोड़े गए प्रत्येक फ़ॉन्ट के लिए एक आइटम जोड़ें।

यह टीटीएफ और ओपनटाइप फ़ॉन्ट दोनों का समर्थन करता है। एक चेतावनी यह है कि यह आपके ऐप के स्टार्टअप में सभी फ़ॉन्ट्स को लोड और पार्स करता है, इसलिए यह प्रारंभिक लोड समय को धीमा कर देगा।

मुझे विश्वास है कि यह केवल आईओएस 3.2 या बाद में उपलब्ध है।

+1

मैं di.plist में क्या जोड़ता हूं? पूरा फ़ाइल नाम या? – esbenr

+0

हां, पूरा फ़ाइल नाम। –

+1

आपका प्रोजेक्टनाम-इन्फो.प्लिस्ट पूर्ण फ़ाइल नाम है। – ArnoHlaMoe

9

शुरुआत
कैसे अपनी परियोजना में Link

2

प्रोग्रामिंग रास्ता (तेज) कस्टम फ़ॉन्ट को जोड़ने के लिए

संसाधन फ़ोल्डर
में अपनी परियोजना के लिए फोंट जोड़े और इस समारोह को जोड़ने के लिए सबसे अच्छा लिंक:

func loadFont(filePath: String) { 

    let fontData = NSData(contentsOfFile: filePath)! 

    let dataProvider = CGDataProviderCreateWithCFData(fontData) 
    let cgFont = CGFontCreateWithDataProvider(dataProvider)! 

    var error: Unmanaged<CFError>? 
    if !CTFontManagerRegisterGraphicsFont(cgFont, &error) { 
     let errorDescription: CFStringRef = CFErrorCopyDescription(error!.takeUnretainedValue()) 
     print("Unable to load font: %@", errorDescription) 
    } 

} 

उपयोग उदाहरण:

if let fontPath = NSBundle.mainBundle().pathForResource("MyCustomFont", ofType:"ttf"){ 
    loadFont(fontPath) 
} 

... 
... 
let myFont = UIFont(name: "MyCustomFont",size: CGFloat(18)) 
+0

यह बहुत अच्छा है, स्टार्टअप समय में सुधार लगता है। धन्यवाद! – chrilith

संबंधित मुद्दे