文档章节

cell自适应

Gong_xiao
 Gong_xiao
发布于 2015/10/23 16:25
字数 332
阅读 28
收藏 0

我们声明一个存计算Cell高度的实例变量:

@property (nonatomic, strong) UITableViewCell *prototypeCell;

 

然后初始化它:

self.prototypeCell  = [self.tableView dequeueReusableCellWithIdentifier:@"C1"];

 

下面是计算Cell高度的实现:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {     C1 *cell = (C1 *)self.prototypeCell;     cell.t.text = [self.tableData objectAtIndex:indexPath.row];     CGSize size = [cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];     NSLog(@"h=%f", size.height + 1);     return 1  + size.height; }

 

看了代码,可能你有点疑问,为何这儿要加1呢?笔者告诉你,如果不加1,结果就是错误的,Cell中UILabel将显示不正确。原因就是因为这行代码CGSize size = [cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];由于是在cell.contentView上调用这个方法,那么返回的值将是contentView的高度,UITableViewCell的高度要比它的contentView要高1,也就是它的分隔线的高度。如果你不相信,那请看C1.xib的属性,比较下面两张图。 

 

 

发现没Cell的高度是127, 面contentView的高度是126, 这下明白了吧。

 

为了让读者看清楚,我将Cell中UILabel的背景色充为了light gray.下面是运行效果: 

 

2. Auto Layout with UITextView in UITableViewCell

本小段教程将介绍UITextView在cell中计算高度需要注意的地方。同样参考上面我们创建一个C2.xib, UITableViewCell的子类C2,并关联C2.xib与C2类。并在C2.xib中对其布局,同样使用了auto layout. 布局如下图: 


本文转载自:http://www.cocoachina.com/industry/20140604/8668.html

共有 人打赏支持
Gong_xiao
粉丝 2
博文 56
码字总数 7990
作品 0
南京
私信 提问
UITableViewCell的高度缓存

让UITableViewCell高度自适应的方法有两种 1、对UITableView进行设置 2、通过代理返回 使用自适应高度时,在Cell每次即将被展示出来的时候都会调用Cell中的 ⬇️方法进行计算。 但是系统计算...

侯航磊
11/08
0
0
我所知道的几种display:table-cell的应用

一、display:table-cell属性简述 display:table-cell属性指让标签元素以表格单元格的形式呈现,类似于td标签。目前IE8+以及其他现代浏览器都是支持此属性 的,但是IE6/7只能对你说sorry了,这...

林文安
2012/05/30
0
0
有了Auto Layout,为什么你还是害怕写UITabelView的自适应布局?

Apple 算是最重视应用开发体验的公司了。从Xib到StoryBoard,从Auto Layout到Size Class,每一次的更新,都会给iOS应用的开发带来不小的便利。但是,对于绝对多数iOS攻城狮来说,我们依然还是...

hejunbinlan
2015/10/15
72
0
有了Auto Layout,为什么你还是害怕写UITabelView的自适应布局?

Apple 算是最重视应用开发体验的公司了.从Xib到StoryBoard,从Auto Layout到Size Class,每一次的更新,都会给iOS应用的开发带来不小的便利.但是,对于绝对多数iOS攻城狮来说,我们依然还是很害怕...

ios122
2015/09/23
0
0
iOS开发tips-UITableView、UICollectionView行高/尺寸自适应

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jianxin160/article/details/55002487 UITableView 我们都知道UITableView从iOS 8开始实现行高的自适应相对比...

KenshinCui
2017/02/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

11月NEO技术社区开发进展汇总

为了帮助大家了解NEO平台上技术社区的开发进展,NEONewsToday将每月发布一份值得关注的更新报告。这些报告将包括对NEO核心项目的贡献以及对社区创建项目的改进。 这个报告不是包括所有项目进...

NEO-FANS
13分钟前
2
0
flutter FlatButton有间隔

这个按钮上下会有空隙,不是铺满的

大灰狼wow
17分钟前
2
0
WiFi攻击的三种方式

WiFi的安全问题已经引起了不少的使用者重视,甚至已经出现草木皆兵的现象。那么黑客到底是如何做到绕过身份验证来获取WiFi使用权的呢?主要有以下三种方式,其中最后一种方式十分简单。 WiFi...

Linux就该这么学
18分钟前
2
0
添加并发

<!-- 认购线程池,支持最大并发送10 最大排队队列为一万--> <task:executor id="investBuyPool" pool-size="1-10" queue-capacity="10000"/> 方法添加注解@Async("investBuyPool")......

一夜
28分钟前
2
0
Gensim?

Gensim是一款开源的第三方Python工具包,用于从原始的非结构化的文本中,无监督地学习到文本隐层的主题向量表达。它支持包括TF-IDF,LSA,LDA,和word2vec在内的多种主题模型算法,支持流式训...

火力全開
41分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部