iOS9中collectionView新特性怎么用
发表于:2024-11-13 作者:千家信息网编辑
千家信息网最后更新 2024年11月13日,这篇文章主要为大家展示了"iOS9中collectionView新特性怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"iOS9中collectionV
千家信息网最后更新 2024年11月13日iOS9中collectionView新特性怎么用
这篇文章主要为大家展示了"iOS9中collectionView新特性怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"iOS9中collectionView新特性怎么用"这篇文章吧。
具体用法:
1.创建collectionView并设置代理
- (UICollectionView *)collectionView{ if (_collectionView == nil) { UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; layout.itemSize = CGSizeMake(50, 50); _collectionView = [[UICollectionView alloc] initWithFrame:CGRectMake(0, 20, self.view.bounds.size.width, self.view.bounds.size.height) collectionViewLayout:layout]; layout.minimumLineSpacing = 10; layout.minimumInteritemSpacing = 10; [_collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"Cell"]; _collectionView.backgroundColor = [UIColor cyanColor]; _collectionView.dataSource = self; //此处给其增加长按手势,用此手势触发cell移动效果 UILongPressGestureRecognizer *longGesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handlelongGesture:)]; [_collectionView addGestureRecognizer:longGesture]; } return _collectionView;}
2.设置其资源
_dataSource = [NSMutableArray array]; for (int i = 1; i <= 50; i++) { NSString *imageName = [NSString stringWithFormat:@"%d",i]; [_dataSource addObject:imageName]; }
3.监听手势,并设置其允许移动cell和交换资源
- (void)handlelongGesture:(UILongPressGestureRecognizer *)longGesture { //判断手势状态 switch (longGesture.state) { case UIGestureRecognizerStateBegan:{ //判断手势落点位置是否在路径上 NSIndexPath *indexPath = [self.collectionView indexPathForItemAtPoint:[longGesture locationInView:self.collectionView]]; if (indexPath == nil) { break; } //在路径上则开始移动该路径上的cell [self.collectionView beginInteractiveMovementForItemAtIndexPath:indexPath]; } break; case UIGestureRecognizerStateChanged: //移动过程当中随时更新cell位置 [self.collectionView updateInteractiveMovementTargetPosition:[longGesture locationInView:self.collectionView]]; break; case UIGestureRecognizerStateEnded: //移动结束后关闭cell移动 [self.collectionView endInteractiveMovement]; break; default: [self.collectionView cancelInteractiveMovement]; break; }}- (BOOL)collectionView:(UICollectionView *)collectionView canMoveItemAtIndexPath:(NSIndexPath *)indexPath{ //返回YES允许其item移动 return YES;}- (void)collectionView:(UICollectionView *)collectionView moveItemAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath*)destinationIndexPath { //取出源item数据 id objc = [_dataSource objectAtIndex:sourceIndexPath.item]; //从资源数组中移除该数据 [_dataSource removeObject:objc]; //将数据插入到资源数组中的目标位置上 [_dataSource insertObject:objc atIndex:destinationIndexPath.item];}
通过以上设置便可以成功移动cell了,下面奉上效果图
以上是"iOS9中collectionView新特性怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
移动
手势
资源
特性
位置
内容
数据
篇文章
效果
数组
路径
学习
帮助
成功
效果图
易懂
更多
条理
状态
目标
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
炸服务器的人现在在干什么
调查问卷如何形成数据库
幸福工厂关闭主机服务器
物联网需要自己的服务器吗
战术小队服务器密码是什么
广州市启橙网络技术公司
建筑网络安全防线
数据库如何插入的
北京做农业大数据库
零距离网络安全
华为服务器管理口是那个
深圳服务器系统运维方案费用
网络安全技术试讲
计算机网络安全论文6000
中华人名共和国网络安全法
台式电脑怎么搭建服务器
数据库的非主属性是什么意思
虹口区市场软件开发销售方法
湖北青少年网络安全
网络安全四个坚持贯彻意见
宜宾软件开发方案
未来集市网络技术
无锡信息软件开发
三原县公安局网络安全保卫大队
网络安全法终身劳改
网络安全隔离装置管理
优酷服务器开小差了
实用网络技术作业
某集团项目成本数据库框架2
中山软件开发公司实习生