Photokit的增加舰讹,刪除,查詢

最近項(xiàng)目中在做一個社交圈的功能闪朱,可以選取相冊中的圖片分享一些圖片月匣,在iOS8.0之后,用主要用photokit來對照片進(jìn)行選取奋姿,iOS官方也寫了一個官方的demophotokitAppleDemo桶错,是用collectionview來做邊查詢邊展示的,我主要介紹一下對相冊的增刪查胀蛮。

  • 第一查詢最近添加相冊
    //  2 206 最近添加
//獲得PHAssetCollectionTypeSmartAlbum  PHAssetCollectionSubtypeSmartAlbumRecentlyAdded類型的所有相冊院刁,系統(tǒng)中的最近添加相冊只有一個,可以直接取第一個元素粪狼。
    PHFetchResult<PHAssetCollection *> *assetSmartCollection=[PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum subtype:PHAssetCollectionSubtypeSmartAlbumRecentlyAdded options:nil];
    if (assetSmartCollection4.count>0) {
      PHAssetCollection*recentlyAddedAlbum= assetSmartCollection.firstObject
      NSString*albumName= recentlyAddedAlbum.localizedTitle;
    //按照相片的創(chuàng)造時間查詢相冊里面的圖片
     PHFetchOptions *photosOptions = [[PHFetchOptions alloc] init];
        photosOptions.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:NO]];
    //每一個asset對應(yīng)一個圖片
     PHFetchResult<PHAsset *> *assets = [PHAsset fetchAssetsInAssetCollection:collection options:photosOptions];
      //相冊中圖片的數(shù)量
      NSInterger photoTotalCount= assets.count;
    }
    
  • 根據(jù)PHAsset獲取具體的圖片
        // 同步獲得圖片, 只會返回1張圖片
        PHImageRequestOptions *options = [[PHImageRequestOptions alloc] init];
      //是否同步退腥,設(shè)為YES只會返回你設(shè)置圖片大小尺寸的圖片,設(shè)為NO之后再榄,會返回一張縮略圖和一張你設(shè)置尺寸的圖片
        options.synchronous = YES;
        options.resizeMode=PHImageRequestOptionsResizeModeFast;
        options.networkAccessAllowed=YES;
        // 是否要原圖
        CGFloat scale = [UIScreen mainScreen].scale;
        CGSize cellSize = CGSizeMake([UIScreen mainScreen].bounds.size.width/3.0, [UIScreen mainScreen].bounds.size.width/3.0);
        CGSize size = CGSizeMake(cellSize.width * scale, cellSize.height/2.0 * scale);
        // 從asset中獲得圖片
        [[PHImageManager defaultManager] requestImageForAsset:asset targetSize:size contentMode:PHImageContentModeDefault options:options resultHandler:^(UIImage * _Nullable result, NSDictionary * _Nullable info) {
            if (result) {
                _imageObject=result;  
            }
        }];
  • 增加一個名字為HelloWorld的相冊
        __block PHObjectPlaceholder *albumPlaceholder;
        [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
            PHAssetCollectionChangeRequest *changeRequest = [PHAssetCollectionChangeRequest creationRequestForAssetCollectionWithTitle:@"HelloWorld"];
            albumPlaceholder = changeRequest.placeholderForCreatedAssetCollection;
        } completionHandler:^(BOOL success, NSError *error) {
            if (success) {
                    NSLog(@"添加相冊成功");
                } completionHandler:^(BOOL success, NSError *error) {
                    if (!success) {
                        NSLog(@"Error creating asset: %@", error);
                    }
                }];
  • 向HelloWorld相冊添加一張照片
  PHAssetCollection*oneAlbumColleciton;
//獲取所有的相冊信息 (在查詢相冊信息中已講)狡刘,然后遍歷,根據(jù)名字找到HelloWorld相冊
 if ([oneAlbumColleciton.localizedTitle isEqualToString:@"HelloWorld"]) {
    [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
        PHAssetChangeRequest *assetChangeRequest = [PHAssetChangeRequest creationRequestForAssetFromImage:saveImage];
        PHAssetCollectionChangeRequest *assetCollectionChangeRequest = [PHAssetCollectionChangeRequest changeRequestForAssetCollection: oneAlbumColleciton];
        [assetCollectionChangeRequest addAssets:@[[assetChangeRequest placeholderForCreatedAsset]]];
    } completionHandler:^(BOOL success, NSError *error) {
        if (!success) {
            DLOG(@"Error creating asset: %@", error);
        }else{
           
        }
    }];
        }
  • 在相冊中刪除某張照片
 PHFetchResult *assetResult = [PHAsset fetchAssetsInAssetCollection:assetCollection options:photosOptions];
 [assetResult enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
                    if ([asset isEqual:obj]) {
                        //刪除圖片
                        [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
                            [PHAssetChangeRequest deleteAssets:@[obj]];
                        } completionHandler:^(BOOL success, NSError *error) {
                            DLOG(@"currentThread:%d",[NSThread isMainThread]);
                            if (success) {     
                             else{
                                    NSLog(@"Error: %@", error);    
                            }
                        }];
               }
            }];
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末困鸥,一起剝皮案震驚了整個濱河市嗅蔬,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌疾就,老刑警劉巖澜术,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異猬腰,居然都是意外死亡鸟废,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進(jìn)店門姑荷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來盒延,“玉大人缩擂,你說我怎么就攤上這事√硭拢” “怎么了胯盯?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長计露。 經(jīng)常有香客問我陨闹,道長,這世上最難降的妖魔是什么薄坏? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任趋厉,我火速辦了婚禮,結(jié)果婚禮上胶坠,老公的妹妹穿的比我還像新娘君账。我一直安慰自己,他們只是感情好沈善,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布乡数。 她就那樣靜靜地躺著,像睡著了一般闻牡。 火紅的嫁衣襯著肌膚如雪净赴。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天罩润,我揣著相機(jī)與錄音玖翅,去河邊找鬼。 笑死割以,一個胖子當(dāng)著我的面吹牛金度,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播严沥,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼猜极,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了消玄?” 一聲冷哼從身側(cè)響起跟伏,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎翩瓜,沒想到半個月后受扳,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡奥溺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年辞色,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浮定。...
    茶點(diǎn)故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡相满,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出桦卒,到底是詐尸還是另有隱情立美,我是刑警寧澤,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布方灾,位于F島的核電站建蹄,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏裕偿。R本人自食惡果不足惜洞慎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望嘿棘。 院中可真熱鬧劲腿,春花似錦、人聲如沸鸟妙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽重父。三九已至花椭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間房午,已是汗流浹背矿辽。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留郭厌,地道東北人嗦锐。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像沪曙,于是被迫代替她去往敵國和親奕污。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評論 2 361

推薦閱讀更多精彩內(nèi)容