XMNPhotoPickerFramework - 一款圖片,視頻選擇類庫

XMNPhotoPickerKit

一款圖片,視頻選擇類庫


1. 預覽

2. 功能

  • 一款圖片,視頻選擇類庫
  • 支持直接顯示相冊選擇
  • 支持類似QQ方式Sheet選擇
  • iOS8+支持動態監測PhotoLibrary變化
  • 支持預覽圖片,預覽視頻

3. 使用方法

  1. 命令行下 git clone https://github.com/ws00801526/XMNPhotoPickerFramework.git
  2. 拖動XMNPhotoPickerFramework 到你的工程內
  3. 導入頭文件XMNPhotoPickerFramework.h 即可
  4. 具體用法,請參考demo

3.1 直接顯示相冊

- (void)_showPhotoPickerC {
    //1.初始化一個XMNPhotoPickerController
    XMNPhotoPickerController *photoPickerC = [[XMNPhotoPickerController alloc] initWithMaxCount:9 delegate:nil];
    //3.取消注釋下面代碼,使用代理方式回調,代理方法參考XMNPhotoPickerControllerDelegate
//    photoPickerC.photoPickerDelegate = self;

    //3..設置選擇完照片的block 回調
    __weak typeof(*&self) wSelf = self;
    [photoPickerC setDidFinishPickingPhotosBlock:^(NSArray<UIImage *> *images, NSArray<XMNAssetModel *> *assets) {
        __weak typeof(*&self) self = wSelf;
        NSLog(@"picker images :%@ \n\n assets:%@",images,assets);

                //!!!如果需要自定義大小的圖片 使用下面方法
//        [[XMNPhotoManager sharedManager] getThumbnailWithAsset:<# asset in assets #> size:<# your size #> completionBlock:^(UIImage * _Nullable image) {
//            
//        }];

        self.assets = [assets copy];
        [self.collectionView reloadData];
        //XMNPhotoPickerController 確定選擇,并不會自己dismiss掉,需要自己dismiss
        [self dismissViewControllerAnimated:YES completion:nil];
    }];

    //4.設置選擇完視頻的block回調
    [photoPickerC setDidFinishPickingVideoBlock:^(UIImage *coverImage, XMNAssetModel * asset) {
        __weak typeof(*&self) self = wSelf;
        NSLog(@"picker image :%@\n\n asset:%@\n\n",coverImage,asset);
        self.assets = @[asset];
        [self.collectionView reloadData];
        //XMNPhotoPickerController 確定選擇,并不會自己dismiss掉,需要自己dismiss
        [self dismissViewControllerAnimated:YES completion:nil];
    }];

    //5.設置用戶取消選擇的回調 可選
    [photoPickerC setDidCancelPickingBlock:^{
        NSLog(@"photoPickerC did Cancel");
        //此處不需要自己dismiss
    }];

    //6. 顯示photoPickerC
    [self presentViewController:photoPickerC animated:YES completion:nil];
}

3.2 顯示XMNPhotoPicker

- (void)_showPhotoPicker {
    //1. 推薦使用XMNPhotoPicker 的單例
    //2. 設置選擇完照片的block回調
    [[XMNPhotoPicker sharePhotoPicker] setDidFinishPickingPhotosBlock:^(NSArray<UIImage *> *images, NSArray<XMNAssetModel *> *assets) {
        NSLog(@"picker images :%@ \n\n assets:%@",images,assets);
        self.assets = [assets copy];
        [self.collectionView reloadData];
    }];
    //3. 設置選擇完視頻的block回調
    [[XMNPhotoPicker sharePhotoPicker] setDidFinishPickingVideoBlock:^(UIImage * image, XMNAssetModel *asset) {
        NSLog(@"picker video :%@ \n\n asset :%@",image,asset);
        self.assets = @[asset];
        [self.collectionView reloadData];
    }];
    //4. 顯示XMNPhotoPicker
    [[XMNPhotoPicker sharePhotoPicker] showPhotoPickerwithController:self animated:YES];
}

4.相關類說明 : 傳送門

5. 感謝

感謝 GitHub:banchichen

項目地址: https://github.com/ws00801526/XMNPhotoPickerFramework

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!