#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. Tuna项目总结

    从8.19—9.13日一共四周的时间,我在Tuna项目组进行的我的第一次正式工作,以及学习.在此,我对这个阶段的工作及学习进行一个总结,主要分为对流程的理解和对自动化测试的应用两个方面. 在总结着两点 ...

  2. Selenium webdriver 元素操作

    本来这些东西网上一搜一大堆,但是本着收集的精神,整理一份放着吧!哈!哈!哈! 1. 输入框(text field or textarea) WebElement element = driver.fi ...

  3. NSOutputStream\NSInputStream

    NSOutputStream-保存网络资源到本地 _filePath = [[NetworkManager sharedInstance] pathForTemporaryFileWithPrefix ...

  4. 基于Equinox构建OSGi项目

    几种OSGi框架 Several independently implemented OSGi frameworks exist today, including four that are avai ...

  5. MD5方法代码(生成小写的md5) C#版本

    public string GetMD5Str(string input) { // Use input string to calculate MD5 hash MD5 md5 = System.S ...

  6. iOS CoreBluetooth 教程

    去App Store搜索并下载“LightBlue”这个App,对调试你的app和理解Core Bluetooth会很有帮助. ================================ Cor ...

  7. hash表的创建

    功能:创建一个hash table.假设有处理冲突,则採用再散列法放置该元素 代码參考<零基础学数据结构> 代码例如以下: root@ubuntu:/mnt/shared/appbox/h ...

  8. 排序算法源码(JAVA)

      public class Test { public static void main(String[] args){ Sort sort = new Sort(); sort.sortTest( ...

  9. 通过源码安装最新版Git

    下载源码 到Git的Github主页上下载最新的源码到本地,解压并进入目录. 编译安装 cd 你的git源码目录 autoconf ./configure make 第一个报错 报错内容: usr/b ...

  10. 【解决】WordPress FTP连接服务器时出错,请检查设置,WordPress需要访问您网页服务器的权限

    刚装好wordpress,发现后台预装了两个插件,想删掉,结果要登录FTP,死活登不上去,提示"连接服务器时出错,请检查设置,WordPress需要访问您网页服务器的权限",网上也 ...