मैं iPhone / iPad के UILabel पर बोल्ड और इटैलिक कैसे सेट करूं?


138

मैं UILabeliPhone / iPad पर बोल्ड और इटैलिक कैसे सेट करूं ? मैंने मंच खोजा लेकिन मुझे कुछ नहीं मिला। क्या कोई मेरी मदद कर सकता है?


यदि आप एक इटैलिक फ़ॉन्ट के बिना कस्टम का उपयोग कर रहे हैं, तो आप [इस विधि को आजमा सकते हैं।] [१] [१]: stackoverflow.com/questions/21009957/…
जेकाहो

जवाबों:


132
sectionLabel.font = [UIFont fontWithName:@"TrebuchetMS-Bold" size:18];

फ़ॉन्ट नामों की एक सूची है जिसे आप 'fontWithName' विशेषता के स्थान पर सेट कर सकते हैं। लिंक यहाँ है


5
बेहतर उत्तर एक्सटेंशन विधि के साथ एक है। @ स्मिथसिमिलियन (@Maksymilian Wojakowski से
कोई रिफंड नहीं रिटर्न

सर सर, बिना घोषणा के वस्तुनिष्ठ शैली में टेक्स्टबॉक्स शैली को कैसे सेट करें c
रमैनी हितेश

3
यह समस्याग्रस्त है क्योंकि आप एक निश्चित फ़ॉन्ट नाम का उपयोग कर रहे हैं। जैसा कि यह परिवर्तन के अधीन है यह कोई अच्छा उपाय नहीं है। मकिस्मिलियन वोजकोव्स्की का उत्तर बेहतर और कहीं अधिक लचीला है।
रे

274

फ़ॉन्ट नामों के साथ खेलने का प्रयास न करें। फ़ॉन्ट डिस्क्रिप्टर का उपयोग करने के लिए आपको कोई नाम नहीं चाहिए:

UILabel * label = [[UILabel alloc] init]; // use your label object instead of this
UIFontDescriptor * fontD = [label.font.fontDescriptor
            fontDescriptorWithSymbolicTraits:UIFontDescriptorTraitBold
                            | UIFontDescriptorTraitItalic];
label.font = [UIFont fontWithDescriptor:fontD size:0];

size:0 इसका मतलब है 'जैसा है वैसा ही रखें'

स्विफ्ट के साथ निम्नलिखित एक्सटेंशन आज़माएं:

extension UIFont {

    func withTraits(traits:UIFontDescriptorSymbolicTraits...) -> UIFont {
        let descriptor = self.fontDescriptor()
            .fontDescriptorWithSymbolicTraits(UIFontDescriptorSymbolicTraits(traits))
        return UIFont(descriptor: descriptor, size: 0)
    }

    func boldItalic() -> UIFont {
        return withTraits(.TraitBold, .TraitItalic)
    }

}

तो आप इसे इस तरह से उपयोग कर सकते हैं:

myLabel.font = myLabel.font.boldItalic()

या संघनित जैसे अतिरिक्त लक्षण भी जोड़ें:

myLabel.font = myLabel.font.withTraits(.TraitCondensed, .TraitBold, .TraitItalic)

स्विफ्ट 4 के लिए अपडेट:

extension UIFont {
  var bold: UIFont {
    return with(traits: .traitBold)
  } // bold

  var italic: UIFont {
    return with(traits: .traitItalic)
  } // italic

  var boldItalic: UIFont {
    return with(traits: [.traitBold, .traitItalic])
  } // boldItalic


  func with(traits: UIFontDescriptorSymbolicTraits) -> UIFont {
    guard let descriptor = self.fontDescriptor.withSymbolicTraits(traits) else {
      return self
    } // guard

    return UIFont(descriptor: descriptor, size: 0)
  } // with(traits:)
} // extension

इसे निम्नानुसार उपयोग करें:

myLabel.font = myLabel.font.bold

या

myLabel.font = myLabel.font.italic

या

myLabel.font = myLabel.font.with(traits: [ .traitBold, .traitCondensed ])

स्विफ्ट 5 के लिए अपडेट

extension UIFont {
    var bold: UIFont {
        return with(.traitBold)
    }

    var italic: UIFont {
        return with(.traitItalic)
    }

    var boldItalic: UIFont {
        return with([.traitBold, .traitItalic])
    }



    func with(_ traits: UIFontDescriptor.SymbolicTraits...) -> UIFont {
        guard let descriptor = self.fontDescriptor.withSymbolicTraits(UIFontDescriptor.SymbolicTraits(traits).union(self.fontDescriptor.symbolicTraits)) else {
            return self
        }
        return UIFont(descriptor: descriptor, size: 0)
    }

    func without(_ traits: UIFontDescriptor.SymbolicTraits...) -> UIFont {
        guard let descriptor = self.fontDescriptor.withSymbolicTraits(self.fontDescriptor.symbolicTraits.subtracting(UIFontDescriptor.SymbolicTraits(traits))) else {
            return self
        }
        return UIFont(descriptor: descriptor, size: 0)
    }
}

5
पता नहीं क्यों यह अधिक वोट नहीं मिला है! फोंट के लिए जहां आपके पास एक बोल्ड या इटैलिक शैली नहीं है, यह बहुत अच्छा है!
क्रिस प्रिंस

4
आह। मैं देखता हूं कि शायद यह इतना लोकप्रिय क्यों नहीं है। केवल iOS7 और इसके बाद के संस्करण में उपलब्ध ...
क्रिस प्रिंस

3
नहीं पता कि यह एनडीए के तहत माना जाना चाहिए, लेकिन Xcode6 और iOS8 जीएम बीज के साथ, मुझे एक कस्टम फ़ॉन्ट के लिए एक एनआईएल फ़ॉन्ट विवरणक वापस मिल रहा है जहां यह iOS7 के तहत शून्य नहीं था।
क्रिस प्रिंस

@Maksymilian हम इस विधि को कई लेबल में कहीं भी अस्वीकार कर सकते हैं अर्थात: लाभार्थी
माजिद बशीर

2
इस उत्तर के बाद से बस एक त्वरित नोट इतना उपयोगी है: return withTraits(.TraitBold, .TraitCondensed)संभवतः return withTraits(.TraitBold, .TraitItalic)फ़ंक्शन के नाम से मेल खाना चाहिए ।
ब्रेडिकलएमडी

103

@ ईडनेटर की नजर इस पर है ।।

myLabel.font = [UIFont boldSystemFontOfSize:16.0f]
myLabel.font = [UIFont italicSystemFontOfSize:16.0f];

उपरोक्त में से किसी एक का उपयोग उस समय करें जब आप चाहते हैं


1
दो शैलियों से काम नहीं चलता। इस मामले में उत्तरार्द्ध इटैलिक शैली को प्रबल करता है। जवाब के लिए धन्यवाद!
ईडी

@ आयोजक yups मुझे पता है कि आपको एक समय में केवल एक का उपयोग करना होगा ... मैंने अपना उत्तर भी संपादित किया था!
सुधांशु

8

आप फ़ॉन्ट फ़ील्ड में "टी" पर क्लिक करके लेबल के लिए कोई भी फ़ॉन्ट शैली, परिवार, आकार सेट कर सकते हैं ।

फ़ॉन्ट सेटिंग्स लेबल करें


लेकिन यहाँ बड़ा सवाल है, FontWithName का उपयोग करने के अलावा: @ "एरियल-लाइट" आप अपने स्क्रीनशॉट में अन्य वज़न कैसे निर्दिष्ट करते हैं? सब कुछ बोल्डसिस्टम लाता हैफोंटसाइज़ (का: __) लेकिन क्या होगा अगर कोई प्रकाश या अल्ट्रा-लाइट चाहता है?
डेव जी

6

मेरे पास एक ही मुद्दा है जो एक लेबल और बटन पर बोल्ड और इटैलिक दोनों को लागू करने की आवश्यकता है। आप इस आशय को प्राप्त करने के लिए बस निम्नलिखित कोड का उपयोग कर सकते हैं:

myLabel.font = [UIFont fontWithName:@"Arial-BoldItalic" size:30.0];

1
मुझे लगता है, आपका मतलब "एरियल" था, न कि "एरियल" :)
MMMM

एरियल के लिए यह काम नहीं कर रहा है। लेकिन, हेल्वेटिका-बोल्डब्लिक के लिए इसका काम कर रहा है। यहाँ UIFont
sudip

1
आपका मतलब है "हेल्वेटिकाएने", न कि "एरियल" :)
jpmartineau

क्या होगा अगर हम अपने कस्टम फ़ॉन्ट को जोड़ते हैं .. ??
माजिद बशीर

6

IOS 7 सिस्टम डिफॉल्ट फ़ॉन्ट के साथ, यदि आप सिस्टम डिफॉल्ट फॉन्ट रखना चाह रहे हैं तो आप हेल्वेटिका नी बोल्ड का उपयोग करेंगे।

    [titleText setFont:[UIFont fontWithName:@"HelveticaNeue-Bold" size:16.0]];

या आप बस इसे कॉल कर सकते हैं:

    [titleText setFont:[UIFont boldSystemFontOfSize:16.0]];

6

स्विफ्ट 3

साहसिक:

let bondFont = UIFont.boldSystemFont(ofSize:UIFont.labelFontSize)

इटैलिक:

let italicFont = UIFont.italicSystemFont(ofSize:UIFont.labelFontSize)


3
 btn.titleLabel.font=[UIFont fontWithName:@"Helvetica neue" size:10];
 btn.titleLabel.font =  [UIFont boldSystemFontOfSize:btnPrev.titleLabel.font.pointSize+3];

आप बोल्ड लेबल / बटन फॉन्ट भी कर सकते हैं


3

मैंने maksymilian wojakowski की प्रतिक्रिया का एक बदलाव किया है जहाँ आप एक विशेषता (s) जोड़ या हटा सकते हैं

extension UIFont {

    func withTraits(_ traits:UIFontDescriptorSymbolicTraits...) -> UIFont {
        let descriptor = self.fontDescriptor
            .withSymbolicTraits(UIFontDescriptorSymbolicTraits(traits).union(self.fontDescriptor.symbolicTraits))
        return UIFont(descriptor: descriptor!, size: 0)
    }
    func withoutTraits(_ traits:UIFontDescriptorSymbolicTraits...) -> UIFont {
        let descriptor = self.fontDescriptor
            .withSymbolicTraits(  self.fontDescriptor.symbolicTraits.subtracting(UIFontDescriptorSymbolicTraits(traits)))
        return UIFont(descriptor: descriptor!, size: 0)
    }
    func bold() -> UIFont {
        return withTraits( .traitBold)
    }

    func italic() -> UIFont {
        return withTraits(.traitItalic)
    }

    func noItalic() -> UIFont {
        return withoutTraits(.traitItalic)
    }
    func noBold() -> UIFont {
        return withoutTraits(.traitBold)
    }
}

उदाहरण के लिए

label.font = label.font.italic().bold()

सेल का पुन: उपयोग करते समय यह उपयोगी है और आप पिछली सेल में एक लेबल पर रखी गई इटैलिक को हटाना चाहते हैं


2

मैंने हाल ही में UIFont एपीआई के प्रतिबंध और इसे हल करने के तरीके के बारे में एक ब्लॉग पोस्ट लिखा था। आप इसे यहाँ देख सकते हैं

मेरे द्वारा प्रदान किए गए कोड के साथ, आप अपना वांछित UIFont प्राप्त कर सकते हैं:

UIFont *myFont = [FontResolver fontWithDescription:@"font-family: Helvetica; font-weight: bold; font-style: italic;"];

और फिर इसे अपने यूबिल (या जो भी) के साथ सेट करें: myLabel.font = myFont;


2

जैसा कि इन उत्तरों में पहले ही उल्लेख किया गया है, आपको बस सही फ़ॉन्ट नाम की आवश्यकता है । मुझे लगता है कि iOSFonts.com वास्तव में क्या नाम का उपयोग करने के लिए जानने के लिए सबसे उपयोगी संसाधन है।


महान संसाधन! मैंने इसे अपने iOS डिवाइस में ब्राउज किया और एक अच्छा दिखने वाला फ़ॉन्ट पाया और फिर इसका एक उदाहरण प्राप्त करने के लिए "fontWithName" का उपयोग किया।
मार्कस कर्णपेन जोहानसन

2

उदाहरण बोल्ड टेक्स्ट:

UILabel *titleBold = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 200, 30)];
UIFont* myBoldFont = [UIFont boldSystemFontOfSize:[UIFont systemFontSize]];
[titleBold setFont:myBoldFont];

उदाहरण इटैलिक पाठ:

UILabel *subTitleItalic = [[UILabel alloc] initWithFrame:CGRectMake(10, 35, 200, 30)];
UIFont* myItalicFont = [UIFont italicSystemFontOfSize:[UIFont systemFontSize]];
[subTitleItalic setFont:myItalicFont];

2

हालाँकि @tolbard द्वारा दिया गया उत्तर आश्चर्यजनक है और अच्छी तरह से काम करता है!

मुझे लगता है कि कुछ के लिए एक एक्सटेंशन बनाने से कोड की एक पंक्ति में कुछ भी हासिल किया जा सकता है, एक ओवर किल होगा।

आप फ़ॉन्ट 4.0 गुण का उपयोग करके अपने टेक्स्ट में उसी तरह के इटैलिक स्टाइल को बोल्ड प्राप्त कर सकते हैं जैसे स्विफ्ट 4.0 का उपयोग करके नीचे दिए गए उदाहरण में नीचे दिखाया गया है : labelUIFontDescriptor

label.font = UIFont(descriptor: UIFontDescriptor().withSymbolicTraits([.traitBold, .traitItalic])!, size: 12)

अन्य विकल्पों में शामिल हैं:

traitLooseLeading
traitTightLeading
traitUIOptimized
traitVertical
traitMonoSpace
traitCondensed
traitExpanded

उन प्रतीकात्मक लक्षणों के बारे में अधिक जानकारी के लिए? यहाँ जाएँ


2

स्विफ्ट 3 के लिए मैक्सिमिलियन वोजकोव्स्की का भयानक उत्तर अपडेट करना

extension UIFont {
    func withTraits(traits:UIFontDescriptorSymbolicTraits...) -> UIFont? {
        guard let descriptorL = self.fontDescriptor.withSymbolicTraits(UIFontDescriptorSymbolicTraits(traits)) else{
            return nil
        }
        return UIFont(descriptor: descriptorL, size: 0)
    }

    func boldItalic() -> UIFont? {
        return withTraits(traits: .traitBold, .traitItalic)
    }
}

1

यह बहुत सरल है। यहाँ कोड है।

[yourLabel setFont:[UIFont boldSystemFontOfSize:15.0];

इससे आपको मदद मिलेगी।


यह इटैलिक सेट नहीं करता है।
मैचसन डेस

यह केवल बोल्ड सेट करेगा। इटैलिक के लिए आप इंटरफ़ेस बिल्डर द्वारा उपयोग कर सकते हैं।
आशु

1

बस उस का उल्लेख करना चाहते हैं,

UIFont.systemFont(ofSize: 16, weight: UIFont.Weight.bold)
UIFont.boldSystemFont(ofSize: 16)

वे अलग परिणाम है ...


0

कई बार बोल्ड किए गए टेक्स्ट को दूसरे स्तर पर एक सूचना वास्तुकला तरीके से माना जाता है और इस प्रकार एक पंक्ति में बोल्ड और नियमित नहीं होता है, इसलिए आप इसे दो लेबल / टेक्स्ट व्यू, एक नियमित और बोल्ड इटैलिक पर विभाजित कर सकते हैं। और फ़ॉन्ट शैलियों को चुनने के लिए संपादक का उपयोग करें।


0

स्विफ्ट 5 के साथ

स्टाइल के लिए = बोल्ड

label.font = UIFont(name:"HelveticaNeue-Bold", size: 15.0)

शैली के लिए = मध्यम

label.font = UIFont(name:"HelveticaNeue-Medium", size: 15.0)

शैली के लिए = पतला

label.font = UIFont(name:"HelveticaNeue-Thin", size: 15.0)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.