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/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM