事先声明:本例没有做任何性能上的考虑, 而且写的很生硬,只是演示思路。如果是有大批量的cell,比如10000个cell,需要使用缓存记录之前的cell的高度以优化。
主要代码如下
- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
YYSHDomain *domain = [self.array objectAtIndex:indexPath.row];
return [self cellHeight:domain];
}
// 获取cell的高度
- (CGFloat) cellHeight:(YYSHDomain *)domain {
UILabel *_titleLable = [[UILabel alloc] initWithFrame:CGRectMake(5, 30, 320 - 10, 0)];
[_titleLable setNumberOfLines:0];
[_titleLable setText:domain.title];
NSLog(@"%@", NSStringFromCGRect(_titleLable.frame));
[_titleLable sizeToFit];
CGRect frame = _titleLable.frame;
[_titleLable release];
NSLog(@"%@", NSStringFromCGRect(frame));
if (domain.imgName) {
return frame.origin.y + frame.size.height + 5 + 60 + 5;
} else {
return frame.origin.y + frame.size.height + 5;
}
}
代码见附件
分享到:
相关推荐
UITableView Cache - UITableView 缓存
swift现实UITableView的cell自定义以及删除与添加,添加表的刷新功能
react-infinity - 一个类似于UITableView的列表和网格显示解决方案具有元素选择和平滑动画
UITableView - 聊天界面实现- cell定制
当UITableView遇到多cell时,往往我们要建立多个cell,这是就会显得类多,臃肿。 demo采用了工厂模式,用父类cell指针指向子类cell,减少类臃肿,不好维护的效果
UITableView 删除 Cell Demo Delete
长按即可移动cell的UITableView
UITableView在两个Cell中间显示目录效果,点击列表某一项,在该项下面显示菜单,不挡住下一项,很实用的例子。
【iphone应用开发】iphone应用开发之六:UITableView的详细讲解(一)
UITableView的cell移动位置,下次进入界面后是拖动后的界面
利用纯代码实现,两种最容易实现自适应高度的方法。一看就能学会。
ReverseExtension - UITableView扩展实现从表格底部插入单元格
iOS UITableView获取特定位置的cell
自定义封装UITableView和MJRefresh相结合
iOS-UITableView学习UITableView的使用
UICollectionView 与 UITableView 的联动处理 ,更好的理解联动的处理,以及写法
UI 使用总结之--UITableView
UITableView高度自适应解决方法 iOS 源码 下载