首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Objective-c中没有获得正确的UILabel高度

在Objective-C中,要获取正确的UILabel高度,可以通过以下步骤实现:

  1. 首先,确定你的UILabel的内容是多行文本。如果只是单行文本,获取高度的需求就不存在了。
  2. 使用NSString的方法计算文本的高度。你可以使用以下方法:
代码语言:txt
复制
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高度。

  1. 然后,你可以使用得到的UILabel的高度来调整UILabel的frame。
代码语言:txt
复制
CGRect labelFrame = label.frame;
labelFrame.size.height = labelHeight;
label.frame = labelFrame;

将获取到的UILabel的高度赋值给UILabel的frame的height属性,从而调整UILabel的高度。

通过以上步骤,你可以在Objective-C中获取正确的UILabel高度。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券