한 줄:
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;
IOS 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 (Swift 5) :
label.adjustsFontSizeToFitWidth = true
label.minimumScaleFactor = 0.5