2012-04-28 9 views
29

ठीक है तो मैं एसओ के माध्यम से पढ़ रहा हूं और गुगलिंग के सभी प्रकार कर रहा हूं लेकिन मुझे पता नहीं लगा कि मेरा फ़ॉन्ट क्यों काम नहीं कर रहा है।xcode कस्टम ttf फ़ॉन्ट काम नहीं कर रहा है

मुझे लगता है कि मैंने सबकुछ सही किया है, लेकिन जब मैं ऐप चलाता हूं, तो मेरे बटन पर टेक्स्ट मेरे द्वारा आयात किए गए मानक सिस्टम फ़ॉन्ट के साथ दिखाई देता है। मैंने यह देखने के लिए NSLog(@"%@",[UIFont familyNames]); जोड़ा है कि यह सूची में था लेकिन यह नहीं है। जो मुझे लगता है कि मैंने इसे गलत बना दिया है।

मुझे उम्मीद है कि कोई मुझे अपने कस्टम फ़ॉन्ट में अपने लेबल में टेक्स्ट प्रदर्शित करने में मदद कर सकता है। किसी को भी धन्यवाद जो सोचता है कि उनके पास कोई सुझाव हो सकता है!

चरण-दर-चरण यह मैंने किया है।

चरण 1: मैंने इंटरनेट से .ttf फ़ाइल डाउनलोड की। मेरी खोजक में ऐसा लगता है कि: enter image description here

चरण 2: मैं खोजक से XCode में फ़ॉन्ट फ़ाइल घसीटा और विकल्प "परियोजना के लिए फ़ोल्डर प्रतिलिपि फ़ाइल" की जाँच करें। तो मेरी परियोजना में मैं देख सकता हूँ:

enter image description here

चरण 3: मैं देखना क्या वास्तविक फ़ाइल नाम है फॉन्ट किताब में फ़ॉन्ट खोला और मैं इस देखें: enter image description here

चरण 4 : मैंने अपनी MyApp-Info.plist फ़ाइल में फ़ाइल प्रकार सहित एक्सकोड से फ़ाइल नाम के साथ एक कुंजी जोड़ा। यह इस तरह दिखता है:

enter image description here

चरण 5: और फिर मेरी कोड में मैं यह लिख:

UIButton *thisLevelButton = [UIButton buttonWithType:UIButtonTypeCustom]; 

[thisLevelButton setBackgroundImage:[UIImage imageNamed:@"ccLSButtonPlayed"] forState:UIControlStateNormal]; 
thisLevelButton.frame = CGRectMake(x, y, BUTTON_WIDTH, BUTTON_HEIGHT); 
thisLevelButton.tag = j; 
[thisLevelButton addTarget:self action:@selector(userSelectedButton:) forControlEvents:UIControlEventTouchUpInside]; 
[thisLevelButton.titleLabel setFont:[UIFont fontWithName:@"PressStartK" size:24]]; 
[thisLevelButton setTitle:[NSString stringWithFormat:@"%i",(j+1)] forState:UIControlStateNormal]; 

// add the button to the panel 
[subScroll addSubview:thisLevelButton]; 

संदर्भ के लिए, यह है कि क्या फ़ॉन्ट परिवारों की सूची में मुद्रित होने वाली है:

(
    Thonburi, 
    "Snell Roundhand", 
    "Academy Engraved LET", 
    "Marker Felt", 
    "Geeza Pro", 
    "Arial Rounded MT Bold", 
    "Trebuchet MS", 
    Arial, 
    Marion, 
    "Gurmukhi MN", 
    "Malayalam Sangam MN", 
    "Bradley Hand", 
    "Kannada Sangam MN", 
    "Bodoni 72 Oldstyle", 
    Cochin, 
    "Sinhala Sangam MN", 
    "Hiragino Kaku Gothic ProN", 
    Papyrus, 
    Verdana, 
    "Zapf Dingbats", 
    Courier, 
    "Hoefler Text", 
    "Euphemia UCAS", 
    Helvetica, 
    "Hiragino Mincho ProN", 
    "Bodoni Ornaments", 
    "Apple Color Emoji", 
    Optima, 
    "Gujarati Sangam MN", 
    "Devanagari Sangam MN", 
    "Times New Roman", 
    Kailasa, 
    "Telugu Sangam MN", 
    "Heiti SC", 
    "Apple SD Gothic Neo", 
    Futura, 
    "Bodoni 72", 
    Baskerville, 
    "Chalkboard SE", 
    "Heiti TC", 
    Copperplate, 
    "Party LET", 
    "American Typewriter", 
    "Bangla Sangam MN", 
    Noteworthy, 
    Zapfino, 
    "Tamil Sangam MN", 
    "DB LCD Temp", 
    "Arial Hebrew", 
    Chalkduster, 
    Georgia, 
    "Helvetica Neue", 
    "Gill Sans", 
    Palatino, 
    "Courier New", 
    "Oriya Sangam MN", 
    Didot, 
    "Bodoni 72 Smallcaps" 
) 
+0

आपके प्रश्न के लिए धन्यवाद !! मैंने निर्देशों का पालन किया कि यह एक संबंधित प्रश्न का उत्तर है, और हाँ! मेरी समस्या अब तय की गई है, और यह अंग्रेजी फोंट के लिए नहीं है, बल्कि फारसी लोगों के लिए है। मैं अपने बालों को दो साल से बाहर खींच रहा हूं और कस्टम एपीआई आदि के साथ भी कोई उचित समाधान नहीं ढूंढ पाया। लेकिन स्पष्ट रूप से ऐप्पल इस समय उत्सुक है, हमें जानकारी के लिए उस कुंजी को जोड़ने के साथ कस्टम फ़ॉन्ट का उपयोग करने देता है। plist। धन्यवाद फिर से! – Neeku

उत्तर

37

मुझे संदेह होगा कि आपने अपने लक्ष्य में फ़ॉन्ट फ़ाइल नहीं जोड़ा है, ताकि यह ऐप के संसाधनों में कॉपी न हो। आपका कोड यहां ठीक काम करता है और फ़ॉन्ट फ़ॉन्ट परिवारों की सूची में "प्रेस स्टार्ट के" के रूप में दिखाई देता है।

+0

धन्यवाद !! यह बहुत परेशान था। मुझे लगता है कि जब मैंने फ़ाइल को खींच लिया तो मैंने वास्तव में लक्ष्य पर प्रतिलिपि नहीं बनाई थी। इसलिए मैंने ttf फ़ाइल को हटा दिया, फिर मैन्युअल रूप से "MyApp" में फ़ाइलें जोड़ने के लिए चला गया। यह – bkbeachlabs

+13

काम करता है एक्सकोड के फ़ाइल इंस्पेक्टर ('⌘⌥1') में" लक्ष्य सदस्यता "अनुभाग भी है जहां आप फ़ाइल को हटाने और पुनः जोड़ने के बजाय अपने लक्ष्य के चेकबॉक्स को सक्रिय कर सकते हैं। – omz

+0

महान टिप धन्यवाद – bkbeachlabs

12

एक और संभावना यह है कि जब आप अपना फ़ॉन्ट कॉल करने का प्रयास करते हैं तो आप गलत फ़ॉन्ट नाम को कॉल कर सकते हैं। उपयोग:

स्विफ्ट 2.1+

//Check which fonts available 
for family: String in UIFont.familyNames() 
{ 
    print("\(family)") 
    for names: String in UIFont.fontNamesForFamilyName(family) 
    { 
     print("== \(names)") 
    } 
} 

उद्देश्य सी

//Check which fonts available 
for (NSString* family in [UIFont familyNames]) 
{ 
    NSLog(@"FONT %@", family); 

    for (NSString* name in [UIFont fontNamesForFamilyName: family]) 
    { 
     NSLog(@" %@", name); 
    } 
} 

फोंट आप के साथ UIFont (नाम का उपयोग किया जाना चाहिए की वास्तविक नाम ढूंढने के लिए: "yourFontName", आकार: 24.0) (तेज़) या [यूआईएफओटी फ़ॉन्टविथनाम: @ "yourFontName" आकार: 16.0 एफ] (ओबीजे सी)। आपके प्लिस्ट में जोड़े गए कस्टम फ़ॉन्ट नामों को आपकी निर्देशिका में जो कुछ भी कहा जाता है उससे मेल खाना चाहिए (.ttf या।ओटीएफ), लेकिन फोंट का संदर्भ देने वाला कोड इस आउटपुट से प्राप्त फ़ॉन्ट नामों से मेल खाना चाहिए। शुभकामनाएं फ़ॉन्टमास्टर्स!

+1

धन्यवाद, मुझे एक समान समस्या थी और यह पता चला कि सिस्टम फ़ॉन्ट को एक अलग नाम के रूप में संदर्भित कर रहा था, फिर मैंने सोचा कि यह क्या था। – sudo

+0

मैं हर किसी को फ़ॉन्ट नाम का उपयोग करने से पहले ऐसा करने का सुझाव देता हूं! महान सुझाव! – arniotaki