iOS学习笔记--如何使九宫格布局图片的显示自适应大小
2015-09-21 22:47
796 查看
今天,刚学习了UICollectionView 的使用,通过第三方类库获取到图片的网址是图片以异步的方式显示出来,并且是图片的显示的大小是自适应的,其他的代码不多说,下面会给demo的链接,现在写主要的实现代码:
在继承自UICollectionViewCell的类中,重写layoutSubviews的方法,以此来实现对要显示的imageView的改变,这里面要记得传个model进来才能获取到值:
下面的链接是我写的一个demo,因为这里我都简写了,如果不懂的,可以参考我的demo,链接地址:http://download.csdn.net/detail/u012127765/9125577
// 该方法是返回每个cell的宽和高的 - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath { // 自定义PictureModel PictureModel *model = self.dataArray[indexPath.row]; // 计算缩放比例,这个150是上面为cell设置的宽 CGFloat scale = model.width / 150; // 改变图片显示的高度 CGFloat newHeight = model.height / scale; // 返回图片的宽高 return CGSizeMake(150, newHeight); }
在继承自UICollectionViewCell的类中,重写layoutSubviews的方法,以此来实现对要显示的imageView的改变,这里面要记得传个model进来才能获取到值:
// 重写该方法,重新进行布局 // 改变视图的bounds触发该方法 - (void)layoutSubviews { [super layoutSubviews]; // 计算缩放比例 CGFloat scale = self.model.width / 150; // 重新给imageV一个宽和高 CGFloat newHeight = self.model.height / scale; self.imageV.frame = CGRectMake(0, 0, 150, newHeight); }
下面的链接是我写的一个demo,因为这里我都简写了,如果不懂的,可以参考我的demo,链接地址:http://download.csdn.net/detail/u012127765/9125577
相关文章推荐
- iOS中的过滤器和正则表达式(NSPredicate,NSRegularExpression)
- iOS激情详解之集合视图
- ios内联函数 inline
- IOS知识点mark
- iOS在文件末尾写入内容
- IOS开发之深拷贝与浅拷贝(mutableCopy与Copy)详解
- 头文件iostream与命名空间namespace
- 文件流: ASCII 与 二进制
- iOS快速缓存之缓存的实现
- iOS视图懒加载问题
- 多线程-GCD
- ios开发系列之文件的写入读取,NSUserDefaults存储数据,NSFileManager操作文件和文件夹
- iOS之浅谈视图控制器的生命周期
- iOS9适配问题
- iOS开发 -- CocoaPods安装和使用步骤(详解)
- iOS开发之地图标注开发
- IOS几种常见的实现扫描、生成二维码的方式(一、使用ZBar SDK)
- IOS开发测试之单元测试中的理论知识
- iOS开发脚踏实地学习day12-通讯录和plist存储
- 猫猫学iOS 之BLOCK的妙用_利用block实现链式编程