Latest 1.0.0
Homepage https://github.com/DeveloperLx/LxGridView
License Apache
Platforms ios 6.0, requires ARC
Frameworks Foundation, CoreGraphics, UIKit
Authors
Imitate Apple iOS system Desktop icons arrangement and interaction by inheriting UICollectionView!
  • demo

    Installation

    You only need drag directory LxGridView to your project.

    Podfile

    pod ‘LxGridView’, ‘~> 1.0.0’

    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];
    //  ... config _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];
        }
    }

License

LxGridView is available under the Apache License 2.0. See the LICENSE file for more info.

Latest podspec

{
    "name": "LxGridView",
    "version": "1.0.0",
    "summary": "Imitate Apple iOS system Desktop icons arrangement and interaction by inheriting UICollectionView!",
    "homepage": "https://github.com/DeveloperLx/LxGridView",
    "license": "Apache",
    "authors": {
        "DeveloperLx": "[email protected]"
    },
    "platforms": {
        "ios": "6.0"
    },
    "source": {
        "git": "https://github.com/DeveloperLx/LxGridView.git",
        "tag": "1.0.0"
    },
    "source_files": "LxGridView/*",
    "requires_arc": true,
    "frameworks": [
        "Foundation",
        "CoreGraphics",
        "UIKit"
    ]
}

Pin It on Pinterest

Share This