//根據字符串的實際內容的多少 在固定的寬度和字體的大小,動態的計算出實際的高度 + (CGFloat)textHeightFromTextString:(NSString *)text width:(CGFloat)textWidth fontSize:(CGFloat)size{ if ([self getCurrentIOS] >= 7.0) { //iOS7以後 /* 第一個參數: 預設空間 寬度固定 高度預設 一個最大值 第二個參數: 行間距 若是超出範圍是否截斷 第三個參數: 屬性字典 能夠設置字體大小 */ NSDictionary *dict = @{NSFontAttributeName:[UIFont systemFontOfSize:size]}; CGRect rect = [text boundingRectWithSize:CGSizeMake(textWidth, MAXFLOAT) options:NSStringDrawingTruncatesLastVisibleLine|NSStringDrawingUsesFontLeading|NSStringDrawingUsesLineFragmentOrigin attributes:dict context:nil]; //返回計算出的行高 return rect.size.height; }else { //iOS7以前 /* 1.第一個參數 設置的字體固定大小 2.預設 寬度和高度 寬度是固定的 高度通常寫成最大值 3.換行模式 字符換行 */ CGSize textSize = [text sizeWithFont:[UIFont systemFontOfSize:size] constrainedToSize:CGSizeMake(textWidth, MAXFLOAT) lineBreakMode:NSLineBreakByCharWrapping]; return textSize.height;//返回 計算出得行高 } } //獲取iOS版本號 + (double)getCurrentIOS { return [[[UIDevice currentDevice] systemVersion] doubleValue]; }