iOS6中sizeWithFont方法在iOS7中被boundingRectWithSize所取代

iOS6中的 sizeWithFont 方法 在iOS7中已经被deprecated了!

取而代之的方法是 boundingRectWithSize 方法, 具体使用如下:

 

//根据要显示的text计算label高度

- (CGFloat)contentCellHeightWithText:(NSString*)text

{

    NSInteger ch;

    UIFont *font = [UIFont fontWithName:@"Arial" size:11];//11 一定要跟label的显示字体大小一致

    //设置字体

    CGSize size = CGSizeMake(300, 20000.0f);//注:这个宽:300 是你要显示的宽度既固定的宽度,高度可以依照自己的需求而定

    if (SystemVersion_7x)//IOS 7.0 以上

    {

        NSDictionary * tdic = [NSDictionary dictionaryWithObjectsAndKeys:font,NSFontAttributeName,nil];

        size =[text boundingRectWithSize:size options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading attributes:tdic context:nil].size;

    }

    else

    {

        size = [text sizeWithFont:font constrainedToSize:sizelineBreakMode:NSLineBreakByCharWrapping];//ios7以上已经摒弃的这个方法

    }

    ch = size.height;

    return ch;

}

posted @ 2014-03-22 14:41  杨东升  阅读(637)  评论(0)    收藏  举报