2

コードを使用して、アプリのカスタマイズしたアルバムに写真を保存しました

[library saveImage:self.capturedImg toAlbum:@"FunCam" withCompletionBlock:^(NSError *error) {
    if (error!=nil) {
        NSLog(@"Big error: %@", [error description]);
    }
}];

ユーザーがボタンをクリックしたときにそのアルバムに保存されたすべての写真を取得し、カメラアプリ(iPhoneのデフォルトアプリ)のようにビューに表示したい

どうすればそれを行うことができますか?

前もって感謝します

4

1 に答える 1

4

これらの方法を試してみてください...

-(void)loadNewLibraryImages
{
    self.assetGroups = [[NSMutableArray alloc] init];
    // Group enumerator Block
    dispatch_async(dispatch_get_main_queue(), ^
                   {    
                       void (^assetGroupEnumerator)(struct ALAssetsGroup *, BOOL *) = ^(ALAssetsGroup *group, BOOL *stop) 
                       {
                           if (group == nil) 
                           {
                               return;
                           }
                           if ([[group valueForProperty:ALAssetsGroupPropertyName] isEqualToString:@"YOUR ALBUM NAME"]) {
                               [self.assetGroups addObject:group];                             
                               [self loadImages];
                               return;
                           }                           

                           if (stop) {
                               return;
                           }

                       };

                       // Group Enumerator Failure Block
                       void (^assetGroupEnumberatorFailure)(NSError *) = ^(NSError *error) {

                           UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"ERROR" message:[NSString stringWithFormat:@"No Albums Available"] delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
                           [alert show];
                           [alert release];
                       };   

                       // Enumerate Albums
                       ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];        
                       [library enumerateGroupsWithTypes:ALAssetsGroupAll
                                              usingBlock:assetGroupEnumerator 
                                            failureBlock:assetGroupEnumberatorFailure];


                   });


}

-(void)loadImages
{   
    //for (ALAssetsGroup *assetGroup in self.assetGroups) {
//  for (int i = 0; i<[self.assetGroups count]; i++) {

        ALAssetsGroup *assetGroup = [self.assetGroups objectAtIndex:0];
        NSLog(@"ALBUM NAME:;%@",[assetGroup valueForProperty:ALAssetsGroupPropertyName]);

        [assetGroup enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop) 
         {         
         if(result == nil) 
         {
         return;
         }
            UIImage *img = [UIImage imageWithCGImage:[[result defaultRepresentation] fullScreenImage] scale:1.0 orientation:(UIImageOrientation)[[result valueForProperty:@"ALAssetPropertyOrientation"] intValue]];         

         }];  

//  }
}

彼らが助けてくれることを願っています....

于 2012-04-06T08:59:10.700 に答える