2015-06-27 7 views
13

मैंने प्रोग्रामिक रूप से एक लेबल बनाया है जिसे मैंने समायोजित करने के लिए ToFitWidth को सही सेट किया है। अब मैं अपना फ़ॉन्ट बदलना चाहता हूं, लेकिन मैं लेबल स्थिरता के फ़ॉन्ट आकार के बिना ऐसा नहीं कर सकता। क्या कोई जानता है कि मैं केवल फ़ॉन्ट को कैसे बदल सकता हूं, न कि तेजी से UILabel का फ़ॉन्ट आकार?फ़ॉन्ट आकार बदलने के बिना मैं तेजी से UILabel के फ़ॉन्ट को कैसे बदलूं?

+3

सिर्फ इसलिए कि आप फ़ॉन्ट आकार नहीं बदलते हैं, इसका मतलब यह नहीं है कि एक ही पाठ और एक ही आकार के साथ दो अलग-अलग फ़ॉन्ट एक ही स्थान ले लेंगे। – nhgrif

उत्तर

30

फ़ॉन्ट आकार क्यों नहीं मिलता है, और इस मान के साथ एक नया फ़ॉन्ट निर्दिष्ट करें?

let fontSize = self.label.font.pointSize; 
self.label.font = UIFont(name: "HelveticaNeue", size: fontSize) 
4

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

label.font = UIFont(name: "Arial", size: label.font.pointSize) 

यह वही फ़ॉन्ट आकार का उपयोग करेगा, "Arial" जो कुछ परिवार आप का चयन करना चाहते हो सकता है।

1

एक बेहतर उत्तर।

उइलाबेल सबक्लासिंग: एक खाली त्वरित फ़ाइल जोड़ें और इसे नाम दें। e.g..EZLabel। निम्नलिखित कोड जोड़ें।

import Foundation 
import UIKit 

class EZLabel: UILabel { 

    override func awakeFromNib() { 
     super.awakeFromNib() 
     changeFontName() 
    } 

    func changeFontName() 
    { 
     self.font = UIFont(name: "Roboto", size: self.font.pointSize) 
    } 
} 

लाभ यह है कि यदि आवश्यक हो तो आपको पूरे परियोजना में प्रत्येक UILabel के फ़ॉन्ट को बदलने की आवश्यकता नहीं है।

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