3 回答
TA贡献1817条经验 获得超6个赞
如果我们希望UILabel根据文字大小缩小和扩展,那么自动布局的情节提要是最好的选择。以下是实现此目的的步骤
脚步
将UILabel放在视图控制器中,然后将其放置在所需的位置。也0用于的numberOfLines属性UILabel。
给它顶部,前导和尾部的空间图钉约束。
现在,它将发出警告,单击黄色箭头。
单击,Update Frame然后单击Fix Misplacement。现在,如果文本较少,则该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 关注
- 636 浏览
添加回答
举报