zoukankan      html  css  js  c++  java
  • 长按移动cell

    - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
        MineCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:collectionCell forIndexPath:indexPath];
        cell.backgroundColor = [UIColor whiteColor];
        cell.cellImage.image = [UIImage imageNamed:self.imagesArray[indexPath.row]];
        UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(longPressGesture:)];
        [cell addGestureRecognizer:longPress];
        return cell;
    }

    - (void)longPressGesture:(UILongPressGestureRecognizer *)sender{
        MineCollectionViewCell *cell = (MineCollectionViewCell *)sender.view;
        NSIndexPath *cellIndexPath = [_mineCollection indexPathForCell:cell];
        [_mineCollection bringSubviewToFront:cell];
        BOOL isChanged = NO;
        if (sender.state == UIGestureRecognizerStateBegan) {
            [self.cellAttributesArray removeAllObjects];
            for (int i = 0;i< self.imagesArray.count; i++) {
                [self.cellAttributesArray addObject:[_mineCollection layoutAttributesForItemAtIndexPath:[NSIndexPath indexPathForItem:i inSection:0]]];
            }
            self.lastPressPoint = [sender locationInView:_mineCollection];
        }else if (sender.state == UIGestureRecognizerStateChanged){
            cell.center = [sender locationInView:_mineCollection];
            for (UICollectionViewLayoutAttributes *attributes in self.cellAttributesArray) {
                if (CGRectContainsPoint(attributes.frame, cell.center) && cellIndexPath != attributes.indexPath) {
                    isChanged = YES;
                    //对数组中存放的元素重新排序
                    NSString *imageStr = self.imagesArray[cellIndexPath.row];
                    [self.imagesArray removeObjectAtIndex:cellIndexPath.row];
                    [self.imagesArray insertObject:imageStr atIndex:attributes.indexPath.row];
                    [self.mineCollection moveItemAtIndexPath:cellIndexPath toIndexPath:attributes.indexPath];
                    
                    
                }
            }
            
        }else if (sender.state == UIGestureRecognizerStateEnded) {
            if (!isChanged) {
                cell.center = [_mineCollection layoutAttributesForItemAtIndexPath:cellIndexPath].center;
            }
            NSLog(@"排序后---%@",self.imagesArray);
        }
        
        
    }

  • 相关阅读:
    Sublime Text 3 快捷键精华版
    css动画+滚动的+飞舞的小球
    css动画+照片清晰度动画
    simhash
    抛弃IIS,利用FastCGI让Asp.net与Nginx在一起
    不逃离WIndows,Asp.Net就只能写写进销存管理系统
    吸引下百度蜘蛛
    Arcpy功能总结
    英雄杀
    NCEP Datasets
  • 原文地址:https://www.cnblogs.com/lidongq/p/5535633.html
Copyright © 2011-2022 走看看