- (CGSize)getStringHeight:(NSString *)aString isContent:(BOOL)content{
    
    CGSize size;
    if ([[[UIDevice currentDevice] systemVersion]floatValue] < 7.0) {
        if (content) {
            UIFont *nameFont=[UIFont fontWithName:@"Heiti SC" size:16];
            size=[aString sizeWithFont:nameFont constrainedToSize:CGSizeMake(APP_WIDTH, 400) lineBreakMode:NSLineBreakByCharWrapping];
        }
        else{
            UIFont *nameFont=[UIFont fontWithName:@"Heiti SC" size:14];
            size=[aString sizeWithFont:nameFont constrainedToSize:CGSizeMake(APP_WIDTH, 400) lineBreakMode:NSLineBreakByCharWrapping];
        }
        
    }
    else{
        if (content) {
            NSDictionary* dic =  @{NSFontAttributeName: [UIFont systemFontOfSize:16]};
            size = [aString boundingRectWithSize:CGSizeMake(320, 400)  options:NSStringDrawingUsesLineFragmentOrigin attributes:dic context:nil].size;
        }
        else{
            NSDictionary* dic =  @{NSFontAttributeName: [UIFont systemFontOfSize:14]};
            size = [aString boundingRectWithSize:CGSizeMake(320, 400)  options:NSStringDrawingUsesLineFragmentOrigin attributes:dic context:nil].size;        }
    }
    return size;
}

解决方案 »

  1.   

    你那个isContent参数都不如直接替换成一个整形的fontSize参数。也不会出现这么多的重复代码
    - (CGSize)getStringHeight:(NSString *)aString fontSize:(NSInteger) size{
        CGSize size;
        if ([[[UIDevice currentDevice] systemVersion]floatValue] < 7.0) {
                UIFont *nameFont=[UIFont fontWithName:@"Heiti SC" size:size];
                size=[aString sizeWithFont:nameFont constrainedToSize:CGSizeMake(APP_WIDTH, 400) lineBreakMode:NSLineBreakByCharWrapping];        
        }
        else{
                        NSDictionary* dic =  @{NSFontAttributeName: [UIFont systemFontOfSize:size]};
                size = [aString boundingRectWithSize:CGSizeMake(320, 400)  options:NSStringDrawingUsesLineFragmentOrigin attributes:dic context:nil].size;
               }
        return size;
    }