#pragma mark - 动态计算cell高度

//计算 返回 文本高度

+ (CGFloat)calsLabelHeightWithContact:(Contacts *)contact

{

//size:   文字最大范围

//options:计算高度 参数

//  NSStringDrawingUsesLineFragmentOrigin:指定 原点 绘制字符串片段起源和基线。

//attributes:文字某个属性 通常是大小

//ios7 获取文本高 方法

CGRect rect = [contact.introduce boundingRectWithSize:CGSizeMake(280, 2000)

options:NSStringDrawingUsesLineFragmentOrigin

attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:17.0f] }

context:nil];

return rect.size.height;

}

//重写contact 的setter方法

- (void)setContact:(Contacts *)contact

{

if (_contact != contact) {

[_contact release];

_contact = [contact retain];

//将获取到的值赋值到控件上,赋值

//1,头像

_headImageView.image = [UIImage imageNamed:contact.headImageName];

//2,名字

_nameLabel.text = contact.name;

//3,电话

_phoneNumberLabel.text = contact.phoneNumber;

//4,性别

_genderLabel.text = contact.gender;

//5,年龄

if (contact.age) {

_ageLabel.text = contact.age;

}else{

_ageLabel.hidden = YES;

}

//6,简介

_introduceLabel.text = contact.introduce;

//计算高度

CGFloat height = [BoyTableViewCell calsLabelHeightWithContact:contact];

//修改高度

CGRect frame = _introduceLabel.frame;

frame.size.height = height;

_introduceLabel.frame = frame;

}

}

#pragma mark - 提供类方法,返回模型内容高度

//使用模型参数,

+ (CGFloat)cellHeightWithContact:(Contacts *)contact

{

CGFloat h = [self calsLabelHeightWithContact:contact];

return 140 + h;

}

//行高

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

{

//1,通过组索引 找出对应的key

NSString *key = _allKeysMutaArray[indexPath.section];

//2,通过可以 查出对应分组

NSMutableArray *array = _allDataMutaDict[key];

//3,通过row 查出 数组对应项

Contacts *c = array[indexPath.row];

//计算出模型的高度

CGFloat h =[BoyTableViewCell cellHeightWithContact:c];

return h;

}

自定义cell 自适应高度的更多相关文章

  1. 自定义cell自适应高度

    UITableView在许多App种被大量的应用着,呈现出现的效果也是多种多样的,不能局限于系统的一种样式,所以需要自定义cell 自定义cell呈现的内容也是多种多样的,内容有多有少,所以需要一种能 ...

  2. 自定义 cell 自适应高度

    #import "CommodityCell.h" #import "UIImageView+WebCache.h" @implementation Commo ...

  3. TableView cell自适应高度-----xib

    1.通过xib创建一个cell,将label进行上左下右,进行适配, self.automaticallyAdjustsScrollViewInsets = NO; self.edgesForExte ...

  4. 【swift,oc】ios开发中巧用自动布局设置自定义cell的高度

    ios开发中,遇到自定义高度不定的cell的时候,我们通常的做法是抽取一个frame类,在frame类中预算好高度,再返回. 但是苹果出来自动布局之后...春天来了!!来看看怎么巧用自动布局设置自定义 ...

  5. Cell自适应高度及自定义cell混合使…

    第一部分:UItableViewCellAdaptionForHeight : cell的自适应高度 第二部分:CustomTableViewCell:自定义cell的混合使用(以简单通讯录为例) = ...

  6. cell自适应高度

    MyModel.h #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interface MyModel : ...

  7. IOS XIB Cell自适应高度实现

    1.代码实现Cell高度自适应的方法 通过代码来实现,需要计算每个控件的高度,之后获取一个cell的 总高度,比较常见的是通过lable的文本计算需要的高度. CGSize labelsize = [ ...

  8. 自定义cell的高度

    // //  RootTableViewController.m //  Share // //  Created by lanouhn on 15/1/20. //  Copyright (c) 2 ...

  9. iOS之UITableView加载网络图片cell自适应高度

    #pragma mark- UITableView - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSI ...

随机推荐

  1. code testing

    #include<iostream> #include<climits> int main(){ using namespace std; int n_int = INT_MA ...

  2. Magician - hdu 5316 (区间查询合并)

    题意:有一个区间,然后有两种操作 1. 把a处的值改为b 0,查询区间ab的子序列的最大和,这个比较特殊,子序列里面相邻的数要有不同的奇偶性 ***************************** ...

  3. MVC控制器方法返回类型

    控制器公开控制器操作.操作是控制器上的方法,在浏览器的地址栏中输入特定 URL 时被调用.例如,假设要请求下面的 URL: http://localhost/Product/Index/3 在这种情况 ...

  4. win7虚拟机起不来,报错transport vmdb error -44 message the vmware authorization

    运行: services.msc 选择:VMware Authorization Service,运行它

  5. spring mvc model.addAttribute页面c:forEach取不到

    昨天和今天都在解决一个问题,即: @RequestMapping(value = "/listAccounts", method = RequestMethod.GET) publ ...

  6. 使用jquery生成二维码

    二维码已经渗透到生活中的方方面面,不管到哪,我们都可以用扫一扫解决大多数问题.二狗为了准备应对以后项目中会出现的二维码任务,就上网了解了如何使用jquery.qrcode生成二维码.方法简单粗暴,[] ...

  7. MySQL慢查询(二) - pt-query-digest详解慢查询日志

    一.简介 pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog.General log.slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdu ...

  8. Clipboard.js : 移动端浏览器实现网页内容复制

    .bl { padding: 5px 10px; border-left: 3px solid #009a61; background: #f6f6f6; color: #555; font-size ...

  9. 坑爹火狐浏览器会记录表单数据,导致服务器控件点击事件出bug

    解决方案:在form表单加入 autocomplete="off".

  10. 大数据笔记02:大数据之Hadoop的生态系统和版本

    1.Hadoop的生态系统: (1)图1: (2)图2: 图1 和 图2 都是形象说明了Hadoop的生态圈. 2.举例介绍Hadoop生态圈的小工具: (1)Hive工具(中文意思:小蜜蜂) 利用H ...