自定义cell 自适应高度
#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 自适应高度的更多相关文章
- 自定义cell自适应高度
UITableView在许多App种被大量的应用着,呈现出现的效果也是多种多样的,不能局限于系统的一种样式,所以需要自定义cell 自定义cell呈现的内容也是多种多样的,内容有多有少,所以需要一种能 ...
- 自定义 cell 自适应高度
#import "CommodityCell.h" #import "UIImageView+WebCache.h" @implementation Commo ...
- TableView cell自适应高度-----xib
1.通过xib创建一个cell,将label进行上左下右,进行适配, self.automaticallyAdjustsScrollViewInsets = NO; self.edgesForExte ...
- 【swift,oc】ios开发中巧用自动布局设置自定义cell的高度
ios开发中,遇到自定义高度不定的cell的时候,我们通常的做法是抽取一个frame类,在frame类中预算好高度,再返回. 但是苹果出来自动布局之后...春天来了!!来看看怎么巧用自动布局设置自定义 ...
- Cell自适应高度及自定义cell混合使…
第一部分:UItableViewCellAdaptionForHeight : cell的自适应高度 第二部分:CustomTableViewCell:自定义cell的混合使用(以简单通讯录为例) = ...
- cell自适应高度
MyModel.h #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interface MyModel : ...
- IOS XIB Cell自适应高度实现
1.代码实现Cell高度自适应的方法 通过代码来实现,需要计算每个控件的高度,之后获取一个cell的 总高度,比较常见的是通过lable的文本计算需要的高度. CGSize labelsize = [ ...
- 自定义cell的高度
// // RootTableViewController.m // Share // // Created by lanouhn on 15/1/20. // Copyright (c) 2 ...
- iOS之UITableView加载网络图片cell自适应高度
#pragma mark- UITableView - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSI ...
随机推荐
- code testing
#include<iostream> #include<climits> int main(){ using namespace std; int n_int = INT_MA ...
- Magician - hdu 5316 (区间查询合并)
题意:有一个区间,然后有两种操作 1. 把a处的值改为b 0,查询区间ab的子序列的最大和,这个比较特殊,子序列里面相邻的数要有不同的奇偶性 ***************************** ...
- MVC控制器方法返回类型
控制器公开控制器操作.操作是控制器上的方法,在浏览器的地址栏中输入特定 URL 时被调用.例如,假设要请求下面的 URL: http://localhost/Product/Index/3 在这种情况 ...
- win7虚拟机起不来,报错transport vmdb error -44 message the vmware authorization
运行: services.msc 选择:VMware Authorization Service,运行它
- spring mvc model.addAttribute页面c:forEach取不到
昨天和今天都在解决一个问题,即: @RequestMapping(value = "/listAccounts", method = RequestMethod.GET) publ ...
- 使用jquery生成二维码
二维码已经渗透到生活中的方方面面,不管到哪,我们都可以用扫一扫解决大多数问题.二狗为了准备应对以后项目中会出现的二维码任务,就上网了解了如何使用jquery.qrcode生成二维码.方法简单粗暴,[] ...
- MySQL慢查询(二) - pt-query-digest详解慢查询日志
一.简介 pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog.General log.slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdu ...
- Clipboard.js : 移动端浏览器实现网页内容复制
.bl { padding: 5px 10px; border-left: 3px solid #009a61; background: #f6f6f6; color: #555; font-size ...
- 坑爹火狐浏览器会记录表单数据,导致服务器控件点击事件出bug
解决方案:在form表单加入 autocomplete="off".
- 大数据笔记02:大数据之Hadoop的生态系统和版本
1.Hadoop的生态系统: (1)图1: (2)图2: 图1 和 图2 都是形象说明了Hadoop的生态圈. 2.举例介绍Hadoop生态圈的小工具: (1)Hive工具(中文意思:小蜜蜂) 利用H ...