关于sizeWithFont弃用问题

iOS 7.0之后sizeWithFont方法被弃用了



以下是代替方法:

iOS7新出了一个boudingRectWithSize:    

                           options:

                           attributes:

                           context方法代替

NSDictionary *attribute = @{NSFontAttributeName: [UIFont systemFontOfSize:13]};


抽取一个计算文本大小的方法 ,计算的时候可以直接调用

//计算文字的大小
- (CGSize)sizeWithText:(NSString *)text maxSize:(CGSize)maxSize fontSize:(CGFloat)fontSize
{
    //    假设最大CGSize maxSize = CGSizeMake(MAXFLOAT, MAXFLOAT);
    //计算文本的大小
    CGSize nameSize = [text boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:fontSize]} context:nil].size;
    return nameSize;
}

假如

 CGSize nameSize = [selfsizeWithText:self.makeupModel.productNamemaxSize:CGSizeMake(MAXFLOAT,MAXFLOAT)  fontSize:13];



用法:

CGSize size = [@“相关NSString” boundingRectWithSize:CGSizeMake(100, 0) options:(3个option) NSStringDrawingTruncatesLastVisibleLine | NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:attribute context:nil].size;




你可能感兴趣的:(关于sizeWithFont弃用问题)