成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iOS9 collectionView新特性

開發 后端
近日因為系統升級導致xcode6.系列版本出現bug,于是開始使用xcode7。在使用之余突然想到collectionView在iOS9中發布了一個可以移動cell的新特性,就嘗試著將其實現,無奈api文檔接口無法查看,只有一些列的api放在那里。于是上網查找,發現國內沒有搜索到此類文章,于是FQ繼續找,最終找到的竟然都是swift版本,于是將其轉換為oc版本以幫助國內需要的朋友學習使用。

  近日因為系統升級導致xcode6.系列版本出現bug,于是開始使用xcode7。在使用之余突然想到collectionView在iOS9中發布了一個可以移動cell的新特性,就嘗試著將其實現,無奈api文檔接口無法查看,只有一些列的api放在那里。于是上網查找,發現國內沒有搜索到此類文章,于是FQ繼續找,最終找到的竟然都是swift版本,于是將其轉換為oc版本以幫助國內需要的朋友學習使用。下面是具體用法:

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了,下面奉上效果圖

至此collectionView的新特性使用方法展示完成,如其中有何錯誤之處望之處,謝謝!

 

我認為你會是我的全部,我為此拼搏奮斗,希望***不只是我認為!
責任編輯:李英杰 來源: 博客園
相關推薦

2015-05-19 09:51:57

WWDCiOS9

2015-08-21 09:47:02

ios9sdk新特性

2015-07-16 12:59:19

IOS9UIDynamics

2015-09-16 09:55:12

ios9學習UIKit Dynam

2015-07-02 17:32:28

iOS 9蘋果

2015-08-20 09:00:23

ios9api

2015-08-24 09:24:21

ios學習contacts fr

2015-09-25 09:44:24

ios9MapkitTrans

2015-10-12 11:26:12

iOS 9適配

2015-02-11 15:40:40

XY蘋果助手iOS9

2014-08-21 10:34:11

Java 9Java

2016-03-18 11:19:57

ios9replaykit入門

2015-07-02 16:25:09

iOS 9UIStackView

2015-09-10 09:10:46

2017-02-06 11:17:31

iOSiOS 10.3新特性

2014-12-12 15:08:53

Java 9

2015-08-31 11:10:52

ios9內容攔截器

2015-09-09 15:51:54

2015-11-11 10:17:15

ios9聯系人框架干貨

2015-09-28 11:23:09

iOS8iOS 9 開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 天天干视频网 | 国产日韩欧美在线一区 | 日韩欧美大片在线观看 | 亚洲一区二区三区免费在线 | 亚洲精品乱码久久久久久久久久 | 91网站在线看 | 国产精品亚洲一区 | 久久五月婷 | 久久岛国 | 性一交一乱一伦视频免费观看 | 特黄特黄a级毛片免费专区 av网站免费在线观看 | 狠狠干网站 | 国产亚洲精品区 | 亚洲视频免费观看 | 日韩毛片在线免费观看 | 91色视频在线观看 | 在线视频第一页 | 精品不卡| 在线观看免费av片 | 成人日韩| 国产美女精品 | 国产成人一区 | 欧美久久天堂 | 中文字幕免费中文 | 中文字幕三区 | 久久久久中文字幕 | 国产欧美一区二区三区在线看蜜臀 | 欧美精品在线免费 | 国产在线不卡视频 | 视频一区二区在线观看 | 日韩毛片免费看 | 一级黄在线观看 | 国产美女永久免费无遮挡 | 91视频进入 | 久久综合亚洲 | 成人亚洲一区 | 欧美在线观看一区二区 | 国产农村妇女毛片精品久久麻豆 | 国产色黄 | 国产av毛片 | 日韩精品在线视频 |