2009-11-10 19 views
6

क्या कोई तरीका है कि मैं पूरे एप्लिकेशन के लिए सिस्टम फ़ॉन्ट बदल सकता हूं?आईफोन एप्लिकेशन के लिए सिस्टम फ़ॉन्ट बदलें - संपूर्ण एप्लिकेशन

मैं इतना है कि मैं अलग-अलग लेबल या इसे बदलने के लिए अलग-अलग फोंट के लिए जाने की जरूरत नहीं है पूरे आवेदन के लिए फ़ॉन्ट को परिभाषित करना चाहते। मुझे एक सार्वभौमिक परिभाषा चाहिए जो आवेदन के भीतर मौजूद सभी फ़ॉन्ट्स को बदल देगी। मैं यह कैसे करु?

उत्तर

2

Constants.h या कुछ और कहा जाता है एक साझा कक्षा बनाओ। इसमें यह करें:

#define kStandardFont [UIFont systemFontOfSize:20] 

निश्चित रूप से फ़ॉन्ट को समायोजित करने के लिए आपको जिस चीज की आवश्यकता है उसे समायोजित करें। ऐसा नहीं है: उसके बाद, जब भी आप इसका इस्तेमाल करने के (एक लेबल या जो कुछ भी में) ऐसा करने की जरूरत है:

#import "Constants.h" 
… 
… 
… 
[label setFont:kStandardFont]; 
0

फ़ॉन्ट्स यूआई में प्रत्येक नियंत्रण के लिए विशिष्ट हैं। Exmaple के लिए, प्रत्येक UILabel की अपनी फ़ॉन्ट सेटिंग है।

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

1

नहीं - यही कारण है कि यह आवेदन फ़ॉन्ट प्रणाली फ़ॉन्ट कहा जाता है, और नहीं है।

+1

तो फिर वहाँ है है ओमेथिग एपप्लिकेशन फ़ॉन्ट के रूप में बुलाया जाता है जिसे मैं उपयोग कर सकता हूं .... Coz i dotn wnat व्यक्तिगत रूप से ऐप पर मौजूद हर चीज़ को फ़ॉन्ट असाइन करने के लिए ...तो क्या एक तरीका है कि मैं एक फ़ॉन्ट को परिभाषित कर सकता हूं और फिर इसे teh ऐप – vivianaranha

2

मुझे लगता है कि सही जवाब है! यह बताएं कि आप ऐसा क्यों करना चाहते हैं, और फिर एक ही सिरों को प्राप्त करने के लिए किसी अन्य तरीके से पता लगाएं। और यहां लोगों को उन छोरों के लिए एक और तरीका जानने में मदद करने में खुशी होगी। सब ने कहा ... वहाँ आधिकारिक SDK में कोई रास्ता नहीं सिस्टम फ़ॉन्ट बदल सकते हैं (उदा कि क्या coneybeare का जवाब प्रभावी ढंग से पता चलता है है।)

। आप UIFont के सिस्टम को घुमाकर कुछ हेडवे बनाने में सक्षम हो सकते हैं FontWithSize: विधि - विधि swizzling पर अधिक के लिए http://www.cocoadev.com/index.pl?MethodSwizzling देखें। ध्यान रखें (ए) यह केवल सिस्टम का उपयोग करने वाली किसी भी चीज की उपस्थिति को बदल देगा: फ़ॉन्ट का उपयोग करने के लिए, (बी) यह सभी प्रकार की चीजों को तोड़ सकता है जो मूल फ़ॉन्ट आकार के आधार पर निर्भर करता है, और (सी) यह अच्छी तरह से हो सकता है आपको ऐप स्टोर से खारिज कर दिया जाता है।

इन सभी चेतावनियां सवाल को जोड़ने: आप वास्तव में इस के साथ पूरा करने के लिए कोशिश कर रहे हैं?

4

आप अपने ऐप शैली Pixate उपयोग कर सकते हैं। पिक्सेल का उपयोग करते समय, आप सीएसएस के माध्यम से अपने यूआई तत्वों के स्टाइल गुण सेट कर सकते हैं। इस तरह आप अपने कस्टम फ़ॉन्ट का उपयोग करने के लिए वैश्विक रूप से अपने UILabels और UITextField आदि को सेट कर सकते हैं। यह आपके फ़ॉन्ट को विश्व स्तर पर स्टाइल करने का सबसे अच्छा तरीका है।

मेरे ऐप में मैं "ओपन संस" का इस्तेमाल किया था और सेटअप अपने सभी UILabels, UITextFields और UITextViews कि फ़ॉन्ट का उपयोग करने के लिए:

अपने "default.css"

label { 
    font-family: "Open Sans"; 
} 

text-field { 
    font-family: "Open Sans"; 
} 

text-view { 
    font-family: "Open Sans"; 
} 

enter image description here

में
+2

के माध्यम से उपयोग किया जाएगा, पिक्सेल ने मेरे ऐप में कस्टम प्रकार को संभालने का सबसे आसान तरीका है। सरल चीजें करने के लिए बहुत कम कोड शामिल है। मुझे यह पसंद है। –

2

UILabel रों के लिए कम से कम काम करने के लिए लगता है:

@interface UIFont (mxcl) 
@end 
@implementation UIFont (mxcl) 
+ (id)systemFontOfSize:(CGFloat)sz { 
    return [UIFont fontWithName:@"AmericanTypewriter" size:sz] 
} 
+ (id)boldSystemFontOfSize:(CGFloat)sz { 
    return [UIFont fontWithName:@"AmericanTypewriter-Bold" size:x] 
} 
@end 
संबंधित मुद्दे