2016-02-12 15 views
8

में कस्टम फ़ॉन्ट के साथ डायनामिक टाइप एक्सेसिबिलिटी साइज का सम्मान कैसे करें मैं dynamic type text style "शीर्षक 1" का उपयोग कैसे कर सकता हूं और स्टोरीबोर्ड में यूआईएलएबल के लिए अंतर्निहित फ़ॉन्ट चॉकबोर्ड एसई में फ़ॉन्ट फेस सेट कर सकता हूं?आईओएस स्टोरीबोर्ड

मुझे आईओएस में डायनामिक टाइप आकार का सम्मान करने की आवश्यकता है (ऐप्पल आईओएस 7 के बाद से इसे प्रोत्साहित कर रहा है?) मुझे अंतर्निहित फ़ॉन्ट चॉकबोर्ड एसई का उपयोग करने की भी आवश्यकता है, जिसका उपयोग "टेक्स्ट शैलियों" के लिए डिफ़ॉल्ट रूप से नहीं किया जाता है। फोंट्स। मैं वर्तमान में एक कस्टम फ़ॉन्ट के रूप में छवि में दिखाया गया है, लेकिन सभी पाठ शैलियाँ फोंट कर के रूप में उपयोगकर्ता की गतिशील प्रकार/पहुँच क्षमता आकार के अनुसार आकार बदलने के लिए वरीयता फॉन्ट की आवश्यकता का उपयोग कर रहा हूँ। सर्वोत्तम टेक्स्ट स्टाइल विकल्प शीर्षक 1 है, लेकिन फ़ॉन्ट/टाइपफ़ेस अस्वीकार्य है।

Font menu in Xcode. Custom checked and Title 1 highlighted

+0

अकेले स्टोरीबोर्ड के माध्यम से नहीं किया जा सकता है। प्रोग्रामेटिक उत्तरों के लिए [आईओएस 7 में गतिशील पाठ आकार के साथ एक कस्टम फ़ॉन्ट का उपयोग कैसे करें] देखें (http://stackoverflow.com/q/20510094/4151918)। –

+1

यह एक UILabel के लिए वास्तव में अविश्वसनीय रूप से बड़ी मात्रा में कोड है। यह उद्देश्य-सी में भी है इसलिए मुझे इस परियोजना के लिए इसका अनुवाद करना होगा। क्या कस्टम फ़ॉन्ट के साथ गतिशील प्रकार का उपयोग करने के लिए वास्तव में कोई व्यावहारिक तरीका नहीं है? – timeSmith

उत्तर

16

यद्यपि दोनों के एक कस्टम फ़ॉन्ट और स्टोरीबोर्ड के माध्यम से एक पसंदीदा पाठ शैली निर्दिष्ट नहीं कर सकते, है ना मुश्किल प्रोग्राम के रूप में अपने कस्टम फ़ॉन्ट के लिए एक गतिशील टाइप के आकार निर्दिष्ट करने के लिए है:

let pointSize = UIFontDescriptor.preferredFontDescriptorWithTextStyle(UIFont‌​TextStyleTitle1).poi‌​ntSize 
let customFont = UIFont(name: "Chalkboard SE", size: pointSize) 

जब आपको UIContentSizeCategoryDidChangeNotification प्राप्त होता है, अपने लेबल के फ़ॉन्ट को अपडेट करने के लिए उसी कोड का उपयोग करें।

+1

आईओएस 8 या 7 के लिए यह काम करने का कोई तरीका? UIFontTextStyleTitle1 केवल आईओएस 9 – timeSmith

+1

में उपलब्ध है, मैंने शीर्षक 1 का उपयोग किया क्योंकि यही वह है जो आपने अपने प्रश्न में निर्दिष्ट किया था। यदि आपको पुराने ओएस का समर्थन करने की आवश्यकता है, तो आपको अन्य टेक्स्ट शैलियों में से एक को बदलना होगा। –

+0

मैं समझता हूं कि यही कारण है कि आपने शीर्षक 1 का उपयोग किया था। जैसा कि आपने # उपलब्ध (आईओएस 9.0, *) – timeSmith

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