iOS开发动态计算cell的高度
来源:互联网 发布:什么是递归算法 编辑:程序博客网 时间:2024/05/02 04:19
在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开头的都是宏定义的数值。
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高度
- 那不叫努力,那叫劳累
- tcp和udp包穿透防火墙-Httptunnel
- android-自定义View-PagerIndicatorView(仿UC浏览区主界面导航)
- 【Topic Generic】App Icons
- 从输入流随机取数
- iOS开发动态计算cell的高度
- jquery clone 与 clone(true) 的区别
- dom4j知识总结
- 公司产品的优势
- Populating Next Right Pointers in Each Node
- 如何修改root命令
- cocos2d-x 3.0 场景切换特效汇总
- cocos2d游戏开发,常用工具集合
- 编程算法 - 中序遍历 递归/迭代 代码(C)