在Objective-C中,要获取正确的UILabel高度,可以通过以下步骤实现:
NSString *text = @"Your text goes here";
UIFont *font = [UIFont systemFontOfSize:17.0]; // 设置UILabel的字体大小
CGSize constraintSize = CGSizeMake(labelWidth, MAXFLOAT); // 设置UILabel的宽度,高度设置为MAXFLOAT
CGSize labelSize = [text boundingRectWithSize:constraintSize options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:font} context:nil].size;
CGFloat labelHeight = ceilf(labelSize.height); // 向上取整得到正确的UILabel高度
这段代码使用NSString的boundingRectWithSize方法计算UILabel的高度。其中,text是UILabel的文本内容,font是UILabel的字体大小,labelWidth是UILabel的宽度。我们将高度限制为MAXFLOAT来获取UILabel的准确高度。最后,通过ceilf函数向上取整,得到正确的UILabel高度。
CGRect labelFrame = label.frame;
labelFrame.size.height = labelHeight;
label.frame = labelFrame;
将获取到的UILabel的高度赋值给UILabel的frame的height属性,从而调整UILabel的高度。
通过以上步骤,你可以在Objective-C中获取正确的UILabel高度。
领取专属 10元无门槛券
手把手带您无忧上云