iOS collectionView相册滑动
来源:互联网 发布:java页面导出excel 编辑:程序博客网 时间:2024/05/22 08:01
使用collectionView做一个简单的相册滑动demo
首先创建一个LineFlowLayout
LineFlowLayout.h
@interface LineFlowLayout : UICollectionViewFlowLayout
@end
-----------------------------------------------
#import "LineFlowLayout.h"
@implementation LineFlowLayout
//初始化时会调用
- (instancetype)init{
if(self = [superinit]){
self.itemSize =CGSizeMake(150,150);
self.scrollDirection =UICollectionViewScrollDirectionHorizontal;
self.minimumInteritemSpacing =50;
self.minimumLineSpacing =50;
}
return self;
}
//当UIcollectionView只要一滑动就会询问是否刷新界面
//刷新界面时会调用 layoutAttributesForElementsInRect方法
- (BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds{
return YES;
}
- (NSArray<UICollectionViewLayoutAttributes *> *)layoutAttributesForElementsInRect:(CGRect)rect{
// CGFloat centerX = self.collectionView.center.x;
CGFloat screenCenterX =self.collectionView.contentOffset.x +self.collectionView.bounds.size.width * 0.5;
//获得所有cell的属性
NSArray *array = [superlayoutAttributesForElementsInRect:rect];
for (UICollectionViewLayoutAttributes *attrsin array) {
//ABS 取绝对值方法
CGFloat offset = ABS(screenCenterX - attrs.center.x);
offset = offset / 100;
CGFloat scale =1.0 +0.5 * (1.0 - offset);
//形变属性
attrs.transform =CGAffineTransformMakeScale(scale, scale);
}
return array;
}
@end
#import "ViewController.h"
#import "LineFlowLayout.h"
@interface ViewController ()<UICollectionViewDataSource>
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
LineFlowLayout *layout = [[LineFlowLayoutalloc]init];
UICollectionView *collectionView = [[UICollectionViewalloc]initWithFrame:CGRectMake(0,200,self.view.frame.size.width,300)collectionViewLayout:layout];
[self.viewaddSubview:collectionView];
collectionView.dataSource =self;
NSString *ID = @"cell";
[collectionView registerClass:[UICollectionViewCellclass]forCellWithReuseIdentifier:ID];
}
#pragma mark -- UICollectionViewDataSource 数据源方法
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
return 50;
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
NSString *ID = @"cell";
UICollectionViewCell *cell = [collectionViewdequeueReusableCellWithReuseIdentifier:IDforIndexPath:indexPath];
cell.backgroundColor = [UIColorredColor];
return cell;
}
@end
- iOS collectionView相册滑动
- iOS-CollectionView自定义相册功能_性能优化
- ios collectionView头分区滑动卡顿,急求
- iOS CollectionView
- iOS---collectionView
- ios collectionView
- iOS collectionView的items在滑动的时候会回弹一部分,滑动卡顿
- 滑动 CollectionView 图片混乱问题
- collectionView 两列横向滑动
- iOS collectionView使用
- iOS collectionview小结
- iOS开发中的collectionView
- iOS CollectionView简单使用
- collectionView的使用iOS
- iOS collectionView的使用
- iOS-CollectionView 基础
- iOS-CollectionView流水布局
- IOS CollectionView 线性布局
- LR-代理使用
- Android 本地路径
- 用OpenSystemArchitect进行数据库建模-简明教程
- sqoop
- F Decimal integer conversion
- iOS collectionView相册滑动
- 文章标题
- 欢迎使用CSDN-markdown编辑器
- Codeforces-2C Commentator problem(随机算法)
- 云之讯调短信接口
- 什么是C++虚函数、虚函数的作用和使用方法
- 盒子阴影
- centos7下安装git
- MyEclipse破解版打包出错解决方案