3 回答

TA貢獻1817條經驗 獲得超6個贊
如果我們希望UILabel根據文字大小縮小和擴展,那么自動布局的情節提要是最好的選擇。以下是實現此目的的步驟
腳步
將UILabel放在視圖控制器中,然后將其放置在所需的位置。也0用于的numberOfLines屬性UILabel。
給它頂部,前導和尾部的空間圖釘約束。
現在,它將發出警告,單擊黃色箭頭。
單擊,Update Frame然后單擊Fix Misplacement?,F在,如果文本較少,則該UILabel將縮小,如果文本較多,則將擴展。

TA貢獻1772條經驗 獲得超5個贊
我創建了一些方法。
-(CGFloat)heightForLabel:(UILabel *)label withText:(NSString *)text
{
? ? CGSize maximumLabelSize? ? ?= CGSizeMake(290, FLT_MAX);
? ? CGSize expectedLabelSize? ? = [text sizeWithFont:label.font
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? constrainedToSize:maximumLabelSize
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? lineBreakMode:label.lineBreakMode];
? ? return expectedLabelSize.height;
}
-(void)resizeHeightToFitForLabel:(UILabel *)label
{
? ? CGRect newFrame? ? ? ? ?= label.frame;
? ? newFrame.size.height? ? = [self heightForLabel:label withText:label.text];
? ? label.frame? ? ? ? ? ? ?= newFrame;
}
-(void)resizeHeightToFitForLabel:(UILabel *)label withText:(NSString *)text
{
? ? label.text? ? ? ? ? ? ? = text;
? ? [self resizeHeightToFitForLabel:label];
}
- 3 回答
- 0 關注
- 672 瀏覽
添加回答
舉報