iOS 7.0.4 和 7.1 上计算文字高度有误差的解决方法

在iOS 7.0.4和7.1上,使用UILabel计算文字高度时出现误差,表现为不同版本间显示不一致。尽管计算的高度在各版本中相同,但实际显示存在差异。通过在计算的高度上加1或2可以修正这个问题。解决方案是调整计算方法以确保获取正确的最大文字高度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


   最近写项目计算文字高度那里在 7.0.4 和 7.1 上遇见 文字高度 有误差的问题,一般写我就直接用系统提供的方法,计算高度,如下:

  

//得到文字的高度
+(NSValue*)getStringWithRect:(NSString*)aString
                   viewWidth:(NSInteger)width
                        font:(float)font
{
    CGSize size ;
    if (ISIOS7) {
        NSDictionary *attribute = @{NSFontAttributeName: [UIFont systemFontOfSize:font]};
        size = [aString boundingRectWithSize:CGSizeMake(width, 0)
                                     options:\
                NSStringDrawingTruncatesLastVisibleLine |
                NSStringDrawingUsesLineFragmentOrigin |
                NSStringDrawingUsesFontLeading
                                  attributes:attribute
                                     context:nil].size;
    }else{
        UIFont *nameFont = [UIFont systemFontOfSize:font];
        size=[aString sizeWithFont:nameFont constrainedToSize:CGSizeMake(width,1000) lineBreakMode:NSLineBreakByWor
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值