UI10_cell的自适应高度
2015-08-11 13:08
519 查看
高度的表示方式 : 2 种
tableView.rowHeight (固定值)
自适应 :
self.picArr = [NSArray arrayWithObjects:@”1.jpg”, @”2.jpg”, @”3.jpg”,nil];
self.ziArr = [NSMutableArray arrayWithObjects:@”中国共产党新闻网北京4月1日电 (万鹏)3月28日,习近平主席出席2015年博鳌论坛年会开幕式并发表了题为《迈向命运共同体 开创亚洲新未来》的主旨演讲,他强调,“亚洲是世界的亚洲。亚洲要迈向命运共同体、开创亚洲新未来,必须在世界前进的步伐中前进、在世界发展的潮流中发展。习主席的演讲传递了哪些重要信息?国务院参事室特邀研究员保育钧,中国国际问题研究院研究员杨希雨做客人民网时谈到,习主席主旨演讲展现出“五大亮点”,再次提出“亚洲方式”的新命题,开幕式本身可谓“一带一路”的各国大合唱,让人印象深刻”, @”床前明月光,疑是地上霜.举头望明月,低头思故乡”, @”NBA常规赛强强对话,勇士在一度落后17分的情况下,客场以110-106逆转快船,终结对手7连胜的同时豪取10连胜。库里全场轰下27分,并在第二节运球晃倒保罗,技惊四座。快船格里芬40分,外加12篮板5助攻”,nil];
将以上3张图片和3段话显示出来, 高度自适应
主要代码如下:
MainViewController. m 文件
MyCell.m 文件
tableView.rowHeight (固定值)
自适应 :
self.picArr = [NSArray arrayWithObjects:@”1.jpg”, @”2.jpg”, @”3.jpg”,nil];
self.ziArr = [NSMutableArray arrayWithObjects:@”中国共产党新闻网北京4月1日电 (万鹏)3月28日,习近平主席出席2015年博鳌论坛年会开幕式并发表了题为《迈向命运共同体 开创亚洲新未来》的主旨演讲,他强调,“亚洲是世界的亚洲。亚洲要迈向命运共同体、开创亚洲新未来,必须在世界前进的步伐中前进、在世界发展的潮流中发展。习主席的演讲传递了哪些重要信息?国务院参事室特邀研究员保育钧,中国国际问题研究院研究员杨希雨做客人民网时谈到,习主席主旨演讲展现出“五大亮点”,再次提出“亚洲方式”的新命题,开幕式本身可谓“一带一路”的各国大合唱,让人印象深刻”, @”床前明月光,疑是地上霜.举头望明月,低头思故乡”, @”NBA常规赛强强对话,勇士在一度落后17分的情况下,客场以110-106逆转快船,终结对手7连胜的同时豪取10连胜。库里全场轰下27分,并在第二节运球晃倒保罗,技惊四座。快船格里芬40分,外加12篮板5助攻”,nil];
将以上3张图片和3段话显示出来, 高度自适应
主要代码如下:
MainViewController. m 文件
#pragma mark 这个方法是tableview的delegate所提供的方法, 主要是用来设置每一行的高度 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ // 1.根据图片的尺寸, 设置行高 UIImage *image = [UIImage imageNamed:self.picArr[indexPath.row]]; // 通过CGSize找到image里面图片的尺寸 CGSize picSize = image.size; // 计算行高 CGFloat rowHeight = picSize.height * self.view.frame.size.width / picSize.width; // 2.计算label的高度 // 根据对应的文字求出cell上label显示的高度 NSDictionary *fontDic = [NSDictionary dictionaryWithObjectsAndKeys: [UIFont systemFontOfSize:14], NSFontAttributeName, nil]; //根据文字的大小, 计算出文本尺寸 // 还需要执行一个尺寸(375, 0); // 第三个参数: 计算高度需要依据字体的哪个特征来确定 CGRect rect = [self.ziArr[indexPath.row]boundingRectWithSize:CGSizeMake(375, 0) fontDic context:nil]; // 最后把结果作为返回值返回 return rowHeight + rect.size.height; }
MyCell.m 文件
- (void)layoutSubviews{ [super layoutSubviews]; // 让imageview的尺寸自适应 // 因为这个方法是最后一个被执行的,所以执行到这个方法的时候, 已经对cell的个个属性进行完赋值的操作, 所以可以通过imageView找到图片和尺寸 CGSize picSize = self.ImageView.image.size; CGFloat height = self.contentView.frame.size.width *picSize.height / picSize.width ; self.ImageView.frame = CGRectMake(0, 0, self.contentView.frame.size.width, height); // label尺寸自适应 NSDictionary *fontDic = [NSDictionary dictionaryWithObjectsAndKeys: [UIFont systemFontOfSize:14], NSFontAttributeName, nil]; CGRect rect = [self.myLabel.text boundingRectWithSize:CGSizeMake(375, 0) options: NSStringDrawingUsesLineFragmentOrigin attributes:fontDic context:nil]; self.myLabel.frame = CGRectMake(0, height, self.contentView.frame.size.width, rect.size.height); }
相关文章推荐
- UITableViewCell的背景颜色设置
- leetCode #225 Implement Stack using Queues
- 【电视桌面CSWUI】电视桌面(launcher)截图欣赏
- POJ2784&&UVA1151-Buy or Build
- ueditor_v1.4.3_utf8_jsp用于ssh框架时图片的上传
- io资源访问,及request_mem_region和ioremap的理解
- iOS设置UITableViewCell的背景色透明和设置选中背景颜色的方法
- Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
- iOS 里RGB 配色 UIColor colorWithRed
- CF-Guess Your Way Out!
- HDU 1144 Prerequisites?
- java parseInt 和 valueof 的区别
- HDU - 1815 Building roads (2-SAT)
- 死磕Visual Studio 2010 unsuccessfulbuild因为AlwaysCreate顽疾
- 动态改变cell的高度&beginUpdates和endUpdates-实现UITableView的动画块
- git fork,pull request 参与团队代码开发
- iOS基础-UIKit框架-基础视图-UIScrollView
- 谈论multistage text input(中国输入法)下一个UITextView内容长度的限制
- [LeetCode] Implement Stack using Queues
- NGUI研究院之UISprite和UITexture浅谈(十二)(图片大小优化)