iOS從系統(tǒng)相冊選取多張照片示例代碼
之前寫過UIImagePickerController調(diào)取系統(tǒng)相冊圖片(選取單張照片,多用于用戶頭像)
1.pod導(dǎo)入
pod 'CTAssetsPickerController'
2.添加頭文件
#import <CTAssetsPickerController/CTAssetsPickerController.h>
3.添加delegate
<CTAssetsPickerControllerDelegate>
4.實(shí)現(xiàn)
- (void)upLoading { [PHPhotoLibraryrequestAuthorization:^(PHAuthorizationStatus status){ if (status !=PHAuthorizationStatusAuthorized)return; dispatch_async(dispatch_get_main_queue(), ^{ CTAssetsPickerController *picker = [[CTAssetsPickerControlleralloc] init]; picker.delegate =self; // 顯示選擇的索引 picker.showsSelectionIndex =YES; // 設(shè)置相冊的類型:相機(jī)膠卷 +自定義相冊 picker.assetCollectionSubtypes =@[ @(PHAssetCollectionSubtypeSmartAlbumUserLibrary), @(PHAssetCollectionSubtypeAlbumRegular)]; // 不需要顯示空的相冊 picker.showsEmptyAlbums =NO; [selfpresentViewController:pickeranimated:YEScompletion:nil]; }); }]; } -(BOOL)assetsPickerController:(CTAssetsPickerController *)picker shouldSelectAsset:(PHAsset *)asset { NSInteger max =9; if (picker.selectedAssets.count >= max) { UIAlertController *alert = [UIAlertControlleralertControllerWithTitle:@"提示"message:[NSStringstringWithFormat:@"最多選擇%zd張圖片", max] preferredStyle:UIAlertControllerStyleAlert]; [alert addAction:[UIAlertActionactionWithTitle:@"好的"style:UIAlertActionStyleDefaulthandler:nil]]; [picker presentViewController:alertanimated:YEScompletion:nil]; // 這里不能使用self來modal別的控制器,因?yàn)榇藭r(shí)self.view不在window上 returnNO; } returnYES; } -(void)assetsPickerController:(CTAssetsPickerController *)picker didFinishPickingAssets:(NSArray *)assets { NSArray *array =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES); NSString *documents = [arraylastObject]; NSString *documentPath = [documentsstringByAppendingPathComponent:@"arrayXML.xml"]; NSArray *dataArray = [NSArrayarrayWithArray:assets]; [dataArray writeToFile:documentPathatomically:YES]; NSArray *resultArray = [NSArrayarrayWithContentsOfFile:documentPath]; NSLog(@"%@", documentPath); // 關(guān)閉圖片選擇界面 [picker dismissViewControllerAnimated:YEScompletion:nil]; // 遍歷選擇的所有圖片 self.plCollection.photoArray = assets; for (NSInteger i =0; i < assets.count; i++) { // 基本配置 CGFloat scale = [UIScreenmainScreen].scale; PHImageRequestOptions *options = [[PHImageRequestOptionsalloc] init]; options.resizeMode =PHImageRequestOptionsResizeModeExact; options.deliveryMode =PHImageRequestOptionsDeliveryModeHighQualityFormat; PHAsset *asset = assets[i]; CGSize size =CGSizeMake(asset.pixelWidth / scale, asset.pixelHeight / scale); // // 獲取圖片 [[PHImageManagerdefaultManager] requestImageForAsset:assettargetSize:size contentMode:PHImageContentModeDefaultoptions:options resultHandler:^(UIImage *_Nullable result,NSDictionary *_Nullable info) { NSData *imageData =UIImageJPEGRepresentation([selfimageWithImageSimple:resultscaledToSize:CGSizeMake(200,200)], 0.5); [selfossUpload:imageData]; }]; } }
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
iOS開發(fā)中class和#import的區(qū)別介紹
這篇文章主要介紹了iOS開發(fā)中class和#import的區(qū)別,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2018-02-02為textView添加語音輸入功能的實(shí)例代碼(集成訊飛語音識(shí)別)
下面小編就為大家分享一篇為textView添加語音輸入功能的實(shí)例代碼(集成訊飛語音識(shí)別),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-01-01iOS應(yīng)用開發(fā)中UITableView的分割線的一些設(shè)置技巧
這篇文章主要介紹了iOS應(yīng)用開發(fā)中UITableView分割線的一些設(shè)置技巧,包括消除分割線的方法,示例代碼為傳統(tǒng)的Objective-C語言,需要的朋友可以參考下2016-03-03iOS開發(fā)中蘋果輸入手機(jī)號(hào)變用戶的名字
今天我們的用戶輸入手機(jī)號(hào)之后變成了用戶的名字,沒辦法獲取驗(yàn)證碼,因?yàn)槭謾C(jī)格式不對(duì)。下面通過本文給大家分享開發(fā)中蘋果輸入手機(jī)號(hào)變用戶的名字,需要的朋友可以參考下2017-05-05iOS CoreTelephony 實(shí)現(xiàn)監(jiān)聽通話狀態(tài)
這篇文章主要介紹了iOS CoreTelephony 實(shí)現(xiàn)監(jiān)聽通話狀態(tài) 的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07iOS 對(duì)plist文件進(jìn)行讀寫,增刪改查的實(shí)例
下面小編就為大家?guī)硪黄猧OS 對(duì)plist文件進(jìn)行讀寫,增刪改查的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-02-02