2013-08-12 4 views
8

जैसा कि मैं समझता हूं कि सभी मानक नियंत्रण डिफ़ॉल्ट रूप से सिस्टम फ़ॉन्ट का उपयोग करते हैं।क्या आपके आवेदन के लिए डिफ़ॉल्ट फ़ॉन्ट बदलने का कोई तरीका है

इसके अलावा, एपीआई [यूआईएफओटी सिस्टमफॉन्टऑफसाइज:] सिस्टम फ़ॉन्ट का भी उपयोग करता है।

क्या टेबल, लेबल आदि के लिए फ़ॉन्ट सेट करने के बजाय पूरे एप्लिकेशन के लिए इसे फिर से परिभाषित करने का कोई तरीका है?

+1

क्या आपने यूफॉन्ट के लिए श्रेणी बनाने का प्रयास किया था? – NeverBe

+0

क्या आप निश्चित हैं * आप इसे बदलना चाहते हैं? इस प्रकार झटकेदार इंटरफेस पैदा होते हैं। – Dave

+0

@ डेव: हां। मुझे यकीन है कि मैं इसे बदलना चाहता हूं :) –

उत्तर

8

उत्तर नहीं है, आप सेब के सिस्टम को बदल नहीं सकते हैं, आपको अपने नियंत्रण पर फ़ॉन्ट सेट करने की आवश्यकता है।

पूरे IOS अनुप्रयोग के लिए एक डिफ़ॉल्ट फ़ॉन्ट स्थापित करने के लिए सबसे अच्छा तरीका है के लिए, कृपया नीचे दिए गए चेक सवाल अतः:

Set a default font for whole iOS app?

How to set a custom font for entire iOS app without specifying size

How do I set a custom font for the whole application?

Is there a simple way to set a default font for the whole app?

5

परिभाषित करें और निर्यात (फ़ाइलों में या precompi में एक शीर्षलेख शामिल करके नेतृत्व हेडर) UIFont के एक वर्ग के रूप में निम्नलिखित:

@implementation UIFont (Utils) 

#pragma clang diagnostic push 
#pragma clang diagnostic ignored "-Wobjc-protocol-method-implementation" 

+ (UIFont *)systemFontOfSize:(CGFloat)size 
{ 
    return [UIFont fontWithName:@"YOUR_TRUETYPE_FONT_NAME_HERE" size:size]; 
} 

+ (UIFont *)lightSystemFontOfSize:(CGFloat)size 
{ 
    return [UIFont fontWithName:@"YOUR_TRUETYPE_FONT_NAME_HERE" size:size]; 
} 

+ (UIFont *)boldSystemFontOfSize:(CGFloat)size 
{ 
    return [UIFont fontWithName:@"YOUR_TRUETYPE_FONT_NAME_HERE" size:size]; 
} 

+ (UIFont *)preferredFontForTextStyle:(NSString *)style 
{ 
    if ([style isEqualToString:UIFontTextStyleBody]) 
     return [UIFont systemFontOfSize:17]; 
    if ([style isEqualToString:UIFontTextStyleHeadline]) 
     return [UIFont boldSystemFontOfSize:17]; 
    if ([style isEqualToString:UIFontTextStyleSubheadline]) 
     return [UIFont systemFontOfSize:15]; 
    if ([style isEqualToString:UIFontTextStyleFootnote]) 
     return [UIFont systemFontOfSize:13]; 
    if ([style isEqualToString:UIFontTextStyleCaption1]) 
     return [UIFont systemFontOfSize:12]; 
    if ([style isEqualToString:UIFontTextStyleCaption2]) 
     return [UIFont systemFontOfSize:11]; 
    return [UIFont systemFontOfSize:17]; 
} 

#pragma clang diagnostic pop 

@end 

लाइट संस्करण आईओएस 7 का आनंद लें के साथ शुरू एक उपयोगी अतिरिक्त के रूप में आता है! ;)

+2

यह एक अच्छा विचार नहीं है। – orj

+0

@orj यह एक अच्छा विचार क्यों नहीं है? ऐसा लगता है कि यह एक अनियंत्रित एपीआई का उपयोग नहीं कर रहा है। या यह है ? –

+2

वैसे, यह UIKit में इन तरीकों के मानक कार्यान्वयन को अधिभारित करता है, जिसे पूरी तरह से अनुशंसित नहीं किया जाता है; उदा आईओएस 9 अनुरोधित फ़ॉन्ट आकार के आधार पर सैन फ्रांसिस्को _Display_ और _Text_ प्रकारों के बीच सिस्टम फ़ॉन्ट के अनुकूली स्विचिंग के साथ आता है। मुझे अभी भी यह तकनीक ** सुरक्षित ** मिली है, हालांकि, जब तक कि आप एक टाइपोग्राफिक ऐप नहीं लिख रहे हैं या कुछ फ़ॉन्ट एक्स्ट्रा की आवश्यकता नहीं है, तो यह एक निश्चित निर्धारिक तरीके से डिफ़ॉल्ट ऐप फोंट को स्विच करने का बहुत आसान और त्वरित तरीका है। – michi

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