2013-07-05 8 views
7

पर कस्टम UIFont आकार को बदल नहीं सकते मैं एक बटन है कि मैं कस्टम UIFont पर पाठ प्रदर्शित करने के लिए उपयोग किया है। फ़ॉन्ट सही ढंग से लोड होता है और बटन शीर्षक पर सही ढंग से लागू होता है।UIButton

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
[button addTarget:self action:@selector(loginButtonClicked:) forControlEvents:UIControlEventTouchUpInside]; 
[button setTitle:@"Login" forState:UIControlStateNormal]; 
button.frame = CGRectMake(63.0, 200.0, 194.0, 60.0); 
button.titleLabel.font = [UIFont fontWithName:@"My-Font" size:8.0f]; 
[self.view addSubview:button]; 

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

button.titleLabel.font = [UIFont systemFontOfSize:32.0f]; 

मैं आकार 32 फ़ॉन्ट मिलता है, लेकिन निश्चित रूप से, मैं नहीं मेरा कस्टम फ़ॉन्ट मिलता है। तो, मैं कस्टम फ़ॉन्ट के लिए आकार कैसे सेट करूं?

(मैं Xcode 4.6.3 का उपयोग करें)

+1

मैं लगता है कि "MyFont" 'में fontWithName'is अशक्त ... सरल और QuickTest: ' UIFont * myFont = [UIFont fontWithName: @ "MyFont" का आकार: 8.0f]; NSLog (@ "MyFont:% @", myFont); ' – Larme

+0

@Larme हाँ, यह है ... हममम, कारण है कि यह हो सकता है? मैं इसे बंडल चरण -> कॉपी बंडल संसाधनों के तहत देख सकता हूं। साथ ही, ऐसा लगता है कि लेबल पर फ़ॉन्ट –

+0

बदलता है सुनिश्चित करें कि आपका फ़ॉन्ट नाम सही है। फ़ॉन्ट का नाम हमेशा फ़ॉन्ट का फ़ाइल नाम नहीं होता है। – HAS

उत्तर

1

दिलचस्प बात यह यह पता चला मेरे Mac किया जाना है। जब मैंने अपने दोस्त को स्थापित करने के लिए दिया, तो उसे कोई समस्या नहीं थी। मेरा मैक पुरानी तरफ है, तो शायद यही कारण था। यहाँ ऐनक हैं:

**Mac:** MacBook Pro 15" (Late 2008) 
**Processor:** 2.4 GHz Intel Core 2 Duo 
**Memory:** 4 GB 1067 MHz DDR3 
**Graphics:** NVIDIA GeForce 9600M GT 256 MB 
2

यह करें:

अपने फ़ॉन्ट का "iOS" नाम के लिए
NSMutableDictionary *fontsByFamilyName = [NSMutableDictionary dictionary]; 
    NSArray *sortDescriptors = [NSArray arrayWithObject:[[[NSSortDescriptor alloc] initWithKey:@"self" ascending:YES] autorelease]]; 

    NSArray *familyNames = [[UIFont familyNames] sortedArrayUsingDescriptors:sortDescriptors]; 
    for (NSString *aFamilyName in familyNames) { 
     NSArray *fontNames = [[UIFont fontNamesForFamilyName:aFamilyName] sortedArrayUsingDescriptors:sortDescriptors]; 

     [fontsByFamilyName setObject:fontNames forKey:aFamilyName]; 
     NSLog(@"fonts :%@", fontsByFamilyName);   
    } 

देखो ... मैं इस विधि के साथ मेरी Cusom लोगों पाया। यदि आप नहीं करते हैं, तो देखते हैं कि आपने अपना फ़ॉन्ट कैसे जोड़ा (शायद एक क्रिया भूल गई)। स्रोत: http://forgecode.net/2010/08/uifont-name-grabber/

+1

हाँ, मुझे सूची में मेरा फ़ॉन्ट नहीं दिख रहा है –

+1

ठीक है। तो बिल्ड फेज/कॉपी बंडल रेसॉर्स में आपका फ़ॉन्ट है, और MyAppl-Info.plist फ़ाइल में एप्लिकेशन द्वारा प्रदान किए गए फ़ॉन्ट में। – Larme

+1

हाँ, मैं इसे दोनों स्थानों पर देख सकता हूं –

2

, फ़ॉन्ट का नाम आप fontWithName:size: में पारित करने के लिए, फ़ॉन्ट बुक एप्लिकेशन के साथ अपने फॉन्ट खुले प्राप्त करने के लिए तो PostScript name संपत्ति के लिए देखो। शर्मिंदा करें कि आपने इसे Info.plist फ़ाइल में भी जोड़ा है।

+0

पर पढ़ने की आवश्यकता होगी, उपर्युक्त सभी , और फ़ॉन्टबुक में चेक किया गया ... मुझे लगता है कि मेरी समस्या वास्तव में गलत फ़ॉन्ट प्रकार है (वेब ​​फ़ॉन्ट बनाम डेस्कटॉप फ़ॉन्ट) –

2

लगता है अपने UIFont वस्तु सही ढंग से नहीं बना है की तरह हो रही है और nil लौटा रहा है।

यह सबसे अच्छा ट्यूटोरियल मैं कस्टम फोंट में डालने पर पाया है है। गुड लक;)

http://refactr.com/blog/2012/09/ios-tips-custom-fonts/

+0

बहुत अच्छा ट्यूटोरियल ... –

-1

'मेरा-फ़ॉन्ट' के लिए 'शून्य' में गुजर सक्षम बनाता है डिफ़ॉल्ट फ़ॉन्ट के लिए टेक्स्ट आकार परिवर्तन - पता है कि वास्तविक फ़ॉन्ट इस्तेमाल किया जा रहा बिना है:

button.titleLabel.font = [UIFont fontWithName:nil size:10.0f];