iOS label和cell自适应高度

- (void)setLabelHeight:(UILabel *)label labelText:(NSString *)text font:(UIFont *)font {

NSMutableParagraphStyle *paraStyle = [[NSMutableParagraphStyle alloc] init];

paraStyle.lineBreakMode = NSLineBreakByCharWrapping;

paraStyle.alignment = NSTextAlignmentJustified;

NSDictionary *dic = @{NSFontAttributeName:font, NSParagraphStyleAttributeName:paraStyle, NSKernAttributeName:@0.0f};

NSAttributedString *attributeStr = [[NSAttributedString alloc] initWithString:text attributes:dic];

label.attributedText = attributeStr;

}

[self setLabelHeight:self.locationLab labelText:self.locationLab.text font:[UIFont systemFontOfSize:12]];

##### 需要自适应高度的label调用上边这方法即可

//返回cell高度

+ (CGFloat)getCellHeightWithString:(NSString *)string {

CGFloat height = [ScanInfoCell initWithSize:CGSizeMake(SCREEN_WIDTH - 30 - 58, CGFLOAT_MAX) string:string font:12].height + 51;

if (!string) {

height += 14.5;

}

return height;

}

//字符串转size

+ (CGSize)initWithSize:(CGSize)size string:(NSString *)string font:(NSInteger)font {

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

CGSize sizes = [string boundingRectWithSize:size options:NSStringDrawingTruncatesLastVisibleLine | NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:attribute context:nil].size;

return sizes;

}

####在tableview代理方法中调用下边方法即可达到效果

//返回cell高度

+ (CGFloat)getCellHeightWithString:(NSString *)string;

如下:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {

//设置地址label自适应 cell高度随label高度变化

ScanInfo *scan = self.viewModel.scanHistoryArr[indexPath.section];

return [ScanInfoCell getCellHeightWithString:scan.deviceLocation];

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iOS开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 3,721评论 2 7
  • 文章出处: http://www.cocoachina.com/industry/20140604/8668.ht...
    whiteking阅读 1,159评论 0 1
  • 1、禁止手机睡眠[UIApplication sharedApplication].idleTimerDisabl...
    DingGa阅读 1,144评论 1 6
  • 关上门时,天已大黑。 钥匙转动,伴着刺耳的雷声,纷至沓来的是一场憋了许久的夏雨。 想起白天里老师讲试卷答题,暗暗较...
    清焰如风阅读 268评论 8 3
  • 窗外的云朵很厚,很厚,就堆在身旁的另一侧。一年后的北京仿佛藏着一丝陌生,就连云端的事物都给人一种隔离,像是路人。风...
    燕云倾阅读 380评论 1 1