我得到的CGSize高度比标签字体长。
我想删除文本和UILabel边缘之间的顶部/左侧/右侧/底部填充,以便UILabel框架恰好适合其包含的文本。

这是我正在使用的代码。

NSString *ad=@"hello";
NSDictionary *fontAttributes = @{NSFontAttributeName : [UIFont systemFontOfSize:50]};
CGSize textSize = [ad sizeWithAttributes:fontAttributes];
bc =[[UILabel alloc]initWithFrame:CGRectMake(20, 25, textSize.width, textSize.height)];
bc.font= [UIFont systemFontOfSize:50];
bc.text=ad;
bc.layer.borderColor = [UIColor blackColor].CGColor;
bc.layer.borderWidth = 1.0;

[self.tap addSubview:bc];

最佳答案

您不必获取CGSize textSize即可分配您的UILabel

在标签中使用自动版式:


在xib中添加标签的顶部,前导,尾随约束。
numberOfLines属性设置为0
在VC中设置preferredMaxLayout宽度(如果您的开发目标设置任何您想要的文本。

关于ios - 根据UILabel字体大小调整CGSize,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32478828/

10-15 15:28