【无限互联】ios开发之瀑布流的实现(uicollectionview与uiscrollview)

【无限互联】ios开发之瀑布流的实现(uicollectionview与uiscrollview)

ID:8802144

大小:566.60 KB

页数:10页

时间:2018-04-08

【无限互联】ios开发之瀑布流的实现(uicollectionview与uiscrollview)_第1页
【无限互联】ios开发之瀑布流的实现(uicollectionview与uiscrollview)_第2页
【无限互联】ios开发之瀑布流的实现(uicollectionview与uiscrollview)_第3页
【无限互联】ios开发之瀑布流的实现(uicollectionview与uiscrollview)_第4页
【无限互联】ios开发之瀑布流的实现(uicollectionview与uiscrollview)_第5页
资源描述:

《【无限互联】ios开发之瀑布流的实现(uicollectionview与uiscrollview)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、【无限互联】IOS开发之瀑布流的实现(UICollectionView与UIScrollView)瀑布流可以在保证图片原始比例的情况下,灵活的展现内容,相对于传统的使用相同大小的网格展现大量图片,要好上很多,而实现瀑布流的方式有很多种,网上比较流行的有三种实现方式。1,使用UIScrollView,主要技术点在于视图的重用。2,使用UITableView,这种方式应该是最易想到的,因为需要展现几列就用几个tabelview就ok了,而且不需要考虑重用,应为苹果已经做好了,只需要考虑如何在几列tabelView滑动的时候,保持同步不出现

2、BUG。3,使用UICollectionView,UICollectionView在iOS6中第一次被介绍,它与UITableView有许多相似点,但它多了一个布局类,而实现瀑布流,就与这个布局类有关。此种方式实现,也不需要考虑视图重用。以上三种方式实现瀑布流,使用UICollectionView应该算是最简单的了,so,就重最简单的开始吧。由于网络太差,所以展现的并不是网络上的图片,而是将用户相册中的图片读取出,并用瀑布流展现。首先,遍历用户相册,将照片放到准备好的数组中。访问用户相册需要导入

3、sLibrary.h>框架[objc] viewplaincopy1.    _images = [NSMutableArray array];  2.    //创建相册库  3.    library = [[ALAssetsLibrary alloc] init];  4.      5.    [library enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos usingBlock:^(ALAssetsGroup *g

4、roup, BOOLBOOL *stop) {  6.        if (group) {  7.            [group enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index, BOOLBOOL *stop) {  8.                if (result) {  9.                    ALAssetRepresentation *resentation = [result defaultRepresentat

5、ion];  10.                    CGImageRef imageRef = resentation.fullResolutionImage;  11.                    UIImage *image = [UIImage imageWithCGImage:imageRef];  12.                      1.                    //将相片加入到数组中  2.                    [self.images addObject:i

6、mage];  3.                    [_collectionView reloadData];  4.                }  5.                  6.            }];  7.        }  8.          9.    } failureBlock:^(NSError *error) {  10.          11.    }];  12.  然后创建UICollectionView,注意这里放置UICollectionView的控

7、制器要实现,UICollectionViewDelegateFlowLayout和UICollectionViewDatasource两个协议。UICollectionView创建时需要传入一个布局对象,布局类继承自UICollectionViewLayout这个抽象基类,我们需要自定义布局对象,继承UICollectionViewLayout的子类,UICollectionViewFlowLayout类,命名为WaterFlowLayout。[objc] viewplaincopy1.

8、4px;">@interface WaterFlowLayout : UICollectionViewFlowLayout  2.@property (nonatomic,assign)id

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。