Objective - C tableView自适应高度 & KVC (Key -Value-Coding)
来源:互联网 发布:任意矩阵的零次幂 编辑:程序博客网 时间:2024/04/29 07:50
/////////////////////// 自适应 //////////////////////////////
#pragma mark 设置tableView每行的高度
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
// 图片的自适应
// 在这个方法里,主要要计算图片的尺寸,来设置tableview的行高
UIImage *image = [UIImage imageNamed:self.picArr[indexPath.row]];
// UIImage保存着实际图片的尺寸,而UIImageView是我们看见的图片的尺寸都通过它来设置
// 通过图片的实际尺寸和屏幕固定的宽进行等比例计算
CGFloat rowHeight = self.view.frame.size.width * image.size.height / image.size.width;
// 第二部分 文字的自适应
// 计算文字的高度
NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:[UIFont systemFontOfSize:14],NSFontAttributeName, nil];
// 根据文本内容和文本的字体进行计算高度
// 参数1:告诉系统,文本显示的最大范围
CGRect rect = [self.ziArr[indexPath.row] boundingRectWithSize:CGSizeMake(self.view.frame.size.width, 0) options:NSStringDrawingUsesLineFragmentOrigin attributes:dic context:nil];
// 然后把图片的高和文本的高最为返回值返回
return rowHeight + rect.size.height;
}
// 这个方法是KVC里负责纠错的方法,只要key和属性名没有对应上,就会执行这个方法
- (void)setValue:(id)value forUndefinedKey:(NSString *)key{
// 里面什么都不写
}
/////////////////////// 自适应 //////////////////////////////
#pragma mark 设置tableView每行的高度
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
// 图片的自适应
// 在这个方法里,主要要计算图片的尺寸,来设置tableview的行高
UIImage *image = [UIImage imageNamed:self.picArr[indexPath.row]];
// UIImage保存着实际图片的尺寸,而UIImageView是我们看见的图片的尺寸都通过它来设置
// 通过图片的实际尺寸和屏幕固定的宽进行等比例计算
CGFloat rowHeight = self.view.frame.size.width * image.size.height / image.size.width;
// 第二部分 文字的自适应
// 计算文字的高度
NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:[UIFont systemFontOfSize:14],NSFontAttributeName, nil];
// 根据文本内容和文本的字体进行计算高度
// 参数1:告诉系统,文本显示的最大范围
CGRect rect = [self.ziArr[indexPath.row] boundingRectWithSize:CGSizeMake(self.view.frame.size.width, 0) options:NSStringDrawingUsesLineFragmentOrigin attributes:dic context:nil];
// 然后把图片的高和文本的高最为返回值返回
return rowHeight + rect.size.height;
}
// 这个方法是KVC里负责纠错的方法,只要key和属性名没有对应上,就会执行这个方法
- (void)setValue:(id)value forUndefinedKey:(NSString *)key{
// 里面什么都不写
}
- Objective - C tableView自适应高度 & KVC (Key -Value-Coding)
- Objective-C Key-Value-Coding
- Key-Value coding (KVC)
- kvc (key value coding)
- KVC (Key-Value Coding)
- Key-Value Coding (KVC)
- Key-Value-Coding(KVC)
- Objective-c key-value coding programming
- KVC(Key-value coding)机制
- KVC (Key -Value Coding)
- iOS KVC(Key-Value Coding)
- Key-Value Coding (KVC) and Generic Programming
- Key-Value Coding (KVC) and Generic Programming
- KVC(key value coding)的使用
- 键值编码(KVC)KEY VALUE CODING
- KVC基础(Key-Value Coding Fundamentals)
- Key Value Coding && key Value Observing KVC KVO
- KVC(key value coding)/ KVO(key value observing)
- Android Studio——FileOutputStream,OutputStreamWriter, BufferedWriter为什么连用?
- sql事务和存储过程
- android中图片的三级cache策略(内存、文件、网络)之二:内存缓存策略
- Android 事件分发与消费机制
- 快排
- Objective - C tableView自适应高度 & KVC (Key -Value-Coding)
- PHP的ArrayAccess接口简介
- Hdu 2034 之解题报告
- 为Python安装pip工具
- iframe中取得父页面的元素,父页面取得子页面的元素
- android中如何发送一个广播
- IOS里的TaggedPointer[NSString篇]
- 经典SQL语句大全
- C++笔记——类型兼容和多态