iOS UILabel计算宽度和高度
1、根据文本计算size,这里需要传入attributes
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(20, 100, 0, 0)]; label.text = @"12331afaa我是谁的谁"; label.textColor = [UIColor redColor]; label.backgroundColor = [UIColor greenColor]; label.font = [UIFont systemFontOfSize:20]; [self.view addSubview:label]; CGSize size = [label.text sizeWithAttributes:@{NSFontAttributeName:label.font}]; label.frame = CGRectMake(20, 100, size.width, size.height); // width:193.482031 heigth:23.867188
2、富文本计算size
CGSize size = [label.attributedText size]; label.frame = CGRectMake(20, 100, size.width, size.height); // width:193.482031 heigth:23.867188
3、通过UIView的 sizeThatFits
// 在单行文本的情况下,参数size设置多少都无所谓,所以里传了CGSizeZero CGSize size = [label sizeThatFits:CGSizeZero]; label.frame = CGRectMake(20, 100, size.width, size.height); // width:193.500000 heigth:24.000000 // 可用此方法计算高度 label.text = @"ABCDEFGHIJKLMN"; label.numberOfLines = 0; label.textAlignment = NSTextAlignmentCenter; CGSize size = [label sizeThatFits:CGSizeMake(15, 0)]; label.frame = CGRectMake(20, 100, size.width, size.height); // width:15.000000 heigth:334.500000
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步