利用UICollectionView模仿iOS系统桌面图标的交互:LxGridView

jopen 9年前

利用UICollectionView模仿iOS系统桌面图标的交互,作用如动图。

* demo

Installation

You only need drag directory LxGridView to your project.

Support

Minimum support iOS version: iOS 6.0

Usage

You can use LxGridView as convenient as UICollectionView.    _gridViewFlowLayout = [[LxGridViewFlowLayout alloc]init];  //  ... config _gridViewFlowLayout    _gridView = [[LxGridView alloc]initWithFrame:GRIDVIEW_FRAME collectionViewLayout:_gridViewFlowLayout];  //  ... congif _gridView    [_gridView registerClass:[LxGridViewCell class] forCellWithReuseIdentifier:GRIDVIEW_CELL_REUSE_IDENTIFIER];    //  implement delegate method  - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section  {      return self.dataArray.count;  }    - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath  {      LxGridViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:LxGridViewCellReuseIdentifier forIndexPath:indexPath];        cell.delegate = self;      cell.editing = _gridView.editing;        //  ... config cell        return cell;  }    - (void)collectionView:(UICollectionView *)collectionView itemAtIndexPath:(NSIndexPath *)sourceIndexPath willMoveToIndexPath:(NSIndexPath *)destinationIndexPath  {      NSDictionary * dataDict = self.dataArray[sourceIndexPath.item];      [self.dataArray removeObjectAtIndex:sourceIndexPath.item];      [self.dataArray insertObject:dataDict atIndex:destinationIndexPath.item];  }    - (void)deleteButtonClickedInGridViewCell:(LxGridViewCell *)gridViewCell  {      NSIndexPath * gridViewCellIndexPath = [_gridView indexPathForCell:gridViewCell];        if (gridViewCellIndexPath) {          [self.dataArray removeObjectAtIndex:gridViewCellIndexPath.item];          [_gridView performBatchUpdates:^{              [_gridView deleteItemsAtIndexPaths:@[gridViewCellIndexPath]];          } completion:nil];      }  }

项目主页:http://www.open-open.com/lib/view/home/1435819819591