#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. 关于JavaScriptSerializer使用的问题

    初学C#的同学们,你们有没有这样的问题:遇到不懂的问题,就到处搜索,好不容易搜索出来答案吧,却发现缺少引用,缺少引用就添加引用吧,结果在添加中找不到!是不是很恼火? 解决办法:查看项目的目标框架,如果 ...

  2. Android SDK的下载和安装

    Android SDK包含的各种库文件.文档.源代码.示例代码……都是通过SDK Tools来下载和安装的,所以我们需要首先下载和安装SDK工具包(SDK Tools Package). 这一步我们可 ...

  3. vim 插件

    自动补全插件更换:youcompleteme github:https://github.com/Valloric/YouCompleteMe

  4. java的 IO流之缓冲流(转载)

    java缓冲流本身不具IO功能,只是在别的流上加上缓冲提高效率,像是为别的流装上一种包装.当对文件或其他目标频繁读写或操作效率低,效能差.这时使用缓冲流能够更高效的读写信息.因为缓冲流先将数据缓存起来 ...

  5. hadoop1.X安装

    1.      配置主机的名称 master,slave1,slave2 2.      安装JDK: 3.      配置IP与主机名称的映射: 192.168.0.100 master 192.1 ...

  6. ViewPager 详解(四)----自主实现滑动指示条

    前言:前面我们用了三篇的时间讲述了有关ViewPager的基础知识,到这篇就要进入点实际的了.在第三篇<ViewPager 详解(三)---PagerTabStrip与PagerTitleStr ...

  7. Max retries exceeded with ur

    requests模块在抓取网页时抛出ConnectionError异常,Max retries exceeded with url 主要搜下 "Caused by <class 'so ...

  8. JAVA实现AES和MD5加密

    package test; import java.io.UnsupportedEncodingException; import java.security.InvalidKeyException; ...

  9. yii图片上传

    http://wuhai.blog.51cto.com/2023916/953300 首先感谢这里的博主,提供了思路,不过在调用 $model->b_image->extensionNam ...

  10. centos5.5上apache快速安装H264流媒体支持MP4-H264边下边播

    2013年的某一天,客户反馈北京同事做的广告视频下载速度好慢,几MB的视频在手机上要下载接近一分钟才能开始播放. 我分析后发现两点:1)托管的服务器没支持流媒体:2)广告视频MP4并非流媒体格式. 对 ...