iOS开发动态计算cell的高度
来源:互联网 发布:软件系统结构设计 编辑:程序博客网 时间:2024/04/28 23:29
在iOS开发过程中,我们经常会用到UITableView, 谈到UITableView当然少不了UITableViewCell.那么有时候我们就会有疑惑,怎么样才能让cell的高度根据文字的大小多少,以及照片的高度来动态设计呢?
下面我们来看一下,到底怎么做才能让cell的高度动态变化,让界面看起来更美观协调一些呢?
- //动态设置cell的高度
- + (CGFloat)heightForRowWithModel:(PhotoInfo *)photoInfo
- {
- //1.图片的高度
- //让图片等比例缩放
- //(1)获取图片
- UIImage *image = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"ZZ" ofType:@"png"]];
- CGFloat imageHeight = [self heightForImage:image];
- //2.文本的高度
- CGFloat textHeight = [self heightForText:photoInfo.introduction];
- //3.返回cell 的总高度
- return kPhotoCell_TitleLabel_Height + imageHeight + textHeight + 4 * kPhotoCell_MarginBetween;
- }
- //单独计算图片的高度
- + (CGFloat)heightForImage:(UIImage *)image
- {
- //(2)获取图片的大小
- CGSize size = image.size;
- //(3)求出缩放比例
- CGFloat scale = kPhotoCell_Width / size.width;
- CGFloat imageHeight = size.height * scale;
- return imageHeight;
- }
- //单独计算文本的高度
- + (CGFloat)heightForText:(NSString *)text
- {
- //设置计算文本时字体的大小,以什么标准来计算
- NSDictionary *attrbute = @{NSFontAttributeName:[UIFont systemFontOfSize:kFontSize]};
- return [text boundingRectWithSize:CGSizeMake(kPhotoCell_Width, 1000) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:attrbute context:nil].size.height;
- }
代码中k开头的都是宏定义的数值。
转载出处:http://www.cocoachina.com/ios/20140920/9698.html
0 0
- iOS开发动态计算cell的高度
- iOS开发动态计算cell的高度
- iOS开发动态计算cell的高度
- iOS开发动态计算cell的高度
- iOS开发动态计算cell的高度
- iOS开发动态计算cell的高度
- iOS开发动态计算cell的高度
- iOS开发动态计算cell的高度
- iOS开发动态计算cell的高度
- iOS开发之计算动态cell的高度并缓存
- iOS开发动态计算cell高度或UILabel多行文本计算高度、宽度的技巧
- iOS开发总结-UITableView 自定义cell和动态计算cell的高度
- (iOS开发) 动态cell高度
- 动态计算Cell的高度
- xamarin.iOS 动态计算表中单元格cell的高度
- iOS学习之-Cell动态高度计算
- IOS开发之动态高度的Cell开发详解
- 动态计算cell高度
- PHPthinking帮您内推简历
- mysql中distinct和group by比较
- 电子学
- 【排序】内部排序算法实现
- unix内核源代码分析
- iOS开发动态计算cell的高度
- Vim的分屏功能
- 衅诶俦可内诿焦瘸恫豆磷驹诓话豆
- AFNetworking的简单使用
- 【算法导论】堆排序和优先级队列
- linux内核源代码分析
- overloading stream insertion and stream extraction operators
- iOS7的一些总结:使用UIView的一种有效方法
- HDOJ 4864 Task