Thisを使用してカスタムアルバムに画像を保存したiPadアプリケーションを開発しています。
今、そのカスタム フォルダからすべての画像を取得したいので、それらすべてをアニメーションで表示する必要がありますUIImageView
。
アニメーションの設定方法は知っていますが、特定のカスタム フォルダからすべての画像を取得する方法を知りたいです。
カスタム アルバムから画像を読み込むために使用したこのコードを参照してください。同じサンプル コードを使用して、画像をカスタム アルバムに保存しました。
NSMutableArray *tempArray = [[NSMutableArray alloc] init];
self.assetGroups = tempArray;
library = [[ALAssetsLibrary alloc] init];
// Load Albums into assetGroups
// Group enumerator Block
void (^assetGroupEnumerator)(ALAssetsGroup *, BOOL *) = ^(ALAssetsGroup *group, BOOL *stop)
{
if (group == nil)
{
return;
}
if([[group valueForProperty:ALAssetsGroupPropertyName] isEqualToString:kAlbumName])
{
[self.assetGroups addObject:group];
[self reloadTableView];
return;
}
};
// Group Enumerator Failure Block
void (^assetGroupEnumberatorFailure)(NSError *) = ^(NSError *error) {
CustomAlertView * alert = [[CustomAlertView alloc] initWithTitle:@"Error" message:[NSString stringWithFormat:@"Album Error: %@ - %@", [error localizedDescription], [error localizedRecoverySuggestion]] delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
[alert show];
NSLog(@"A problem occured %@", [error description]);
};
// Enumerate Albums
[library enumerateGroupsWithTypes:ALAssetsGroupAll
usingBlock:assetGroupEnumerator
failureBlock:assetGroupEnumberatorFailure];
kAlbumName
これは、カスタム アルバム名を含む 1 つの文字列 ivar です。
編集:1
上記のコードは、すべての写真で選択されたアルバム全体を提供し、アルバムからそれらの写真を取得するには、次のコードを使用します
[self.assetGroup enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop)
{
if(result == nil)
return;
CGRect viewFrames = kThumbSize;//CGRectMake(0, 0, 75, 75);
UIImageView *assetImageView = [[UIImageView alloc] initWithFrame:viewFrames];
[assetImageView setContentMode:UIViewContentModeScaleToFill];
[assetImageView setImage:[UIImage imageWithCGImage:(__bridge CGImageRef)([result originalAsset])]];
}];
注:コメントとしてkThumbSize
定義する代わりに。CGRectMake()
コーディングを楽しんでください :) Happy Day :)