千家信息网

iOS9中collectionView新特性怎么用

发表于:2026-11-05 作者:千家信息网编辑
千家信息网最后更新 2026年11月05日,这篇文章主要为大家展示了"iOS9中collectionView新特性怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"iOS9中collectionV
千家信息网最后更新 2026年11月05日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安全错误 数据库的锁怎样保障安全 云南咖啡 广东万易互联网科技有限公司惠州分公司 工业互联网科技新基建 美国互联网科技巨头监管 深圳期待互联网科技 昭通云南众福互联网科技有限公司 移动互联网科技股 智腾互联网科技有限公司 未来五年的互联网科技 互联网科技和信息 深圳育鹏互联网科技有限公司招聘 内蒙古九一互联网科技 合肥互联网科技公司公章图片 山东子淼互联网科技有限公司 深圳互联网科技的发展 上海万顺科技互联网有限公司招聘 互联网科技职业技能培训学校 玉溪新华互联网科技怎么选 互联网企业和网络科技有限公司 山东亿川互联网科技有限责任公司 互联网黑科技 互联网巨头反垄断金融科技 太原新华互联网科技学校怎么样 受益于互联网科技的高速发展 玉溪新华互联网科技好不好 上海京穆互联网科技有限公司 互联网企业科技类企业如何做账 银行科技岗属于互联网吗 世界互联网科技成果奖 容联科技互联网电商
0