Ios 一个很好用的图片选择器

 每次访问相册 都是一个 难看的画面 对我来说已经受不了了  去code4app  去cocoachina  有的现在下来 不好用 

今天同事 找到一个 图片选择器 懂得来说 效果 好不错 当然 介于我们自己项目的需要  会对内部做一些修改  不过 我还是吧原生的分享得大家 你们可以根据自己的需要修改 总的用法不难

   TZImagePickerController *imageVC = [[TZImagePickerController alloc]initWithMaxImagesCount:9 columnNumber:3 delegate:self pushPhotoPickerVc:YES];

    // 1、是否允许选择原图

    imageVC.isSelectOriginalPhoto = NO;

    // 2、在内部显示拍照按钮

    imageVC.allowTakePicture = YES;

    // 3. 设置是否可以选择视频/图片/原图

    imageVC.allowPickingVideo = YES;

    imageVC.allowPickingImage = YES;

    imageVC.allowPickingOriginalPhoto = YES;

    // 4. 照片排列按修改时间升序

    imageVC.sortAscendingByModificationDate = YES;

    [self presentViewController:imageVC animated:YES completion:nil];

顺便告诉你   图片每次最多选择9张   视频只能选一个  妈的 这个博客能放文件共享吗    在哪里  我曹 怎么分享文件

 我先把 用法贴出来 当然 我们只用了一些 需要的  遵循代理  干过ios的 都会吧          别告诉我  tableview代理 textview代理  没遵循过 那你用的是什么 我就不呵呵了          遵循  TZImagePickerControllerDelegate

 #pragma mark <TZImagePickerControllerDelegate>代理

- (void)imagePickerController:(TZImagePickerController *)picker didFinishPickingPhotos:(NSArray<UIImage *> *)photos sourceAssets:(NSArray *)assets isSelectOriginalPhoto:(BOOL)isSelectOriginalPhoto{

 photos 是选择图片 传回来的UIImage 数组  想要拿到它 放到自己的数据源里面  就建一个全局数组接受吧

   assets  这个是原始对象  要解析他 才能获取到具体的 路径   会累死你的  我们当时就是视频地址获取 累死

}

- (void)imagePickerController:(TZImagePickerController *)picker didFinishPickingVideo:(UIImage *)coverImage sourceAssets:(id)asset{

  coverImage 视频的第一帧图片   你知道不  我们都知道视频是图片按帧组成的   举个牛逼的例子  你打英雄联盟的时候   fps是什么      每秒帧数      就是一秒有多少张图片刷新   想一下 fps是3  每秒三张图片 是不是卡死你  fps  是200  每秒200张图片    连在一起播放出来 你能卡吗  (id)asset    解析获取视频在手机里的地址

 [self getAsset:self.selectedAsset resultHandler:^(NSURL *url) {

        weakself.videoFileURL = url.absoluteString;  可以把它转成字符串 接收出来  如果NSURL 可能失败 因该是苹果内部坐了处理  

    }];

}

#pragma mark 视频地址获取

- (void)getAsset:(id)asset resultHandler:(void (^)(NSURL *url))resultHandler {

    if ([asset isKindOfClass:[PHAsset class]]) {

        PHVideoRequestOptions* options = [[PHVideoRequestOptions alloc] init];

        options.version = PHVideoRequestOptionsVersionOriginal;

        options.deliveryMode = PHVideoRequestOptionsDeliveryModeAutomatic;

        options.networkAccessAllowed = YES;

        [[PHImageManager defaultManager] requestAVAssetForVideo:asset options:options resultHandler:^(AVAsset* avasset, AVAudioMix* audioMix, NSDictionary* info){

            AVURLAsset *videoAsset = (AVURLAsset*)avasset;

            resultHandler(videoAsset.URL);

        }];

    } else if ([asset isKindOfClass:[ALAsset class]]) {

        resultHandler([asset valueForProperty:ALAssetPropertyAssetURL]); // ALAssetPropertyURLs

    }

}

 我曹    你们能看见吗    看不见的活  谭真大佬的git地址         https://github.com/banchichen/TZImagePickerController/

原文地址:https://www.cnblogs.com/lxgblog/p/6028105.html