这里我把获取字体的长度 和 高度 封装成一个方法,方便调用
#pragma mark ------- 计算字体长度 和 宽度 -------
- (CGSize)sizeWithText:(NSString *)text font:(UIFont *)font maxSize:(CGSize)maxSize
{
NSDictionary *attrs = @{NSFontAttributeName : font};
return [text boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:attrs context:nil].size;
}
//调用上面的方法,获取 字体的 Size
CGSize size = [self sizeWithText:@“根据字体长度高度决定控件的长度和高度” font:[UIFont systemFontOfSize:18] maxSize:CGSizeMake(MAXFLOAT, MAXFLOAT)];
//自定义一个UILabel
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(100, 100, size.width, size.height)];
label.backgroundColor = [UIColor redColor];
[self.view addSubview:label];
这样,label 的长度和高度 就 会根据 字体的长度和高度决定 控件的长度和高度