इकलौती रेखा:
factLabel.numberOfLines = 1;
factLabel.minimumFontSize = 8;
factLabel.adjustsFontSizeToFitWidth = YES;
उपरोक्त कोड आपके पाठ के फ़ॉन्ट आकार को समायोजित करेगा (उदाहरण के लिए) 8
लेबल के भीतर आपके पाठ को फिट करने की कोशिश कर रहा है।
numberOfLines = 1
अनिवार्य है।
कई लाइनें:
के लिए numberOfLines > 1
वहाँ के माध्यम से अंतिम पाठ का आकार यह पता लगाने की एक विधि है NSString के sizeWithFont: ... UIKit अलावा तरीकों, उदाहरण के लिए:
CGSize lLabelSize = [yourText sizeWithFont:factLabel.font
forWidth:factLabel.frame.size.width
lineBreakMode:factLabel.lineBreakMode];
उसके बाद आप परिणाम lLabelSize
के लिए अपने लेबल का आकार बदल सकते हैं , उदाहरण के लिए (यह मानते हुए कि आप केवल लेबल की ऊँचाई को बदल देंगे):
factLabel.frame = CGRectMake(factLabel.frame.origin.x, factLabel.frame.origin.y, factLabel.frame.size.width, lLabelSize.height);
iOS6
इकलौती रेखा:
IOS6 के साथ शुरू, minimumFontSize
पदावनत कर दिया गया है। रेखा
factLabel.minimumFontSize = 8.;
इसे बदला जा सकता है:
factLabel.minimumScaleFactor = 8./factLabel.font.pointSize;
आईओएस 7
कई लाइनें:
IOS7 के साथ शुरू, sizeWithFont
पदावनत हो जाता है। बहुपरत मामला कम हो गया है:
factLabel.numberOfLines = 0;
factLabel.lineBreakMode = NSLineBreakByWordWrapping;
CGSize maximumLabelSize = CGSizeMake(factLabel.frame.size.width, CGFLOAT_MAX);
CGSize expectSize = [factLabel sizeThatFits:maximumLabelSize];
factLabel.frame = CGRectMake(factLabel.frame.origin.x, factLabel.frame.origin.y, expectSize.width, expectSize.height);
iOS 13 (स्विफ्ट 5):
label.adjustsFontSizeToFitWidth = true
label.minimumScaleFactor = 0.5