Instagram Libraryのようなカスタムフォトビューを作成したいと思います。Instagramのようなカスタムフォトビューを作成するには?
デフォルトでは、「カメラロール」写真が表示され、クリックするとデバイスのすべてのアルバムリストが表示され、アルバムまたはフォルダのタップにすべての写真がクリックされたアルバムで読み込まれます。
どうすればいいですか?
Instagram Libraryのようなカスタムフォトビューを作成したいと思います。Instagramのようなカスタムフォトビューを作成するには?
デフォルトでは、「カメラロール」写真が表示され、クリックするとデバイスのすべてのアルバムリストが表示され、アルバムまたはフォルダのタップにすべての写真がクリックされたアルバムで読み込まれます。
どうすればいいですか?
あなたはあなたのギャラリーのすべての画像を取得し、あなたの条件に応じて
PHFetchResult *smartAlbums = [PHAssetCollection
fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum
subtype:PHAssetCollectionSubtypeAlbumRegular options:nil];
//set up fetch options, mediaType is image.
PHFetchOptions *options = [[PHFetchOptions alloc] init];
options.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:NO]];
options.predicate = [NSPredicate predicateWithFormat:@"mediaType = %d",PHAssetMediaTypeImage];
for (NSInteger i =0; i < smartAlbums.count; i++) {
PHAssetCollection *assetCollection = smartAlbums[i];
PHFetchResult *assetsFetchResult = [PHAsset fetchAssetsInAssetCollection:assetCollection options:options];
NSLog(@"sub album title is %@, count is %ld", assetCollection.localizedTitle, (unsigned long)assetsFetchResult.count);
if (assetsFetchResult.count > 0 && ![assetCollection.localizedTitle isEqualToString: @"Recently Deleted"]) {
for (PHAsset *asset in assetsFetchResult) {
//you have got your image type asset.
PHImageRequestOptions *option = [PHImageRequestOptions new];
option.synchronous = YES;
[[PHImageManager defaultManager] requestImageForAsset:asset targetSize:CGSizeMake(self.view.frame.size.width, self.view.frame.size.height-100) contentMode:PHImageContentModeAspectFit options:option resultHandler:^(UIImage * _Nullable result, NSDictionary * _Nullable info) {
[self.imagesURLArray addObject:result];
NSLog(@"asset are %@", asset);
}
}
}
をすべての画像を表示するフォトフレームワークを使用することができますここで同じことを行うための一つの良いライブラリです。
私はこれを試してみましょう。.. – Kuldeep
それは私の写真の中に存在していないと、それは、繰り返しデータを追加するアルバムのタイトルが表示されます。 – Kuldeep
iOSで提供されるすべてのデフォルトアルバム、つまり合計14枚のアルバムが表示されます。カメラロールから画像を取得するには、すべてのギャラリー画像が含まれている必要があります。その後、すべての画像をNSMutableArrayに保存して、必要に応じてすべての画像を表示します。 –