カメラロールから複数の画像を選択できるカスタムライブラリがあり、画像を次のNSDocumentDirectory
ように保存します。
for (int i = 0; i < info.count; i++) {
NSLog(@"%@", [info objectAtIndex:i]);
NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask ,YES );
NSString *documentsDir = [paths objectAtIndex:0];
NSString *savedImagePath = [documentsDir stringByAppendingPathComponent:[NSString stringWithFormat:@"Images%d.png", i]];
ALAssetRepresentation *rep = [[info objectAtIndex: i] defaultRepresentation];
UIImage *image = [UIImage imageWithCGImage:[rep fullResolutionImage]];
//----resize the images
image = [self imageByScalingAndCroppingForSize:image toSize:CGSizeMake(256,256*image.size.height/image.size.width)];
NSData *imageData = UIImagePNGRepresentation(image);
[imageData writeToFile:savedImagePath atomically:YES];
NSLog(@"saving at:%@",savedImagePath);
}
私がやりたかったのは、それをサムネイルにロードしてUIScrollView
、特定の画像をタップするAlertView
とポップアップが表示され、ユーザーに削除するかどうかを尋ねることです。私はそれをサムネイル ビューでロードし (私は を使用しますHSImageSidebarView
) AlertVIew
、ユーザーが画像をタップするたびにポップアップを作成します。しかし、削除を押すと、ビューでは削除されますが、NSDocumentDirectory
.
これは私のイメージを削除する方法です:
- (void)sidebar:(HSImageSidebarView *)sidebar didRemoveImageAtIndex:(NSUInteger)anIndex {
NSLog(@"Image at index %d removed", anIndex);
[images removeObjectAtIndex:anIndex];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *fullPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"Images%d.png", anIndex]];
[fileManager removeItemAtPath: fullPath error:NULL];
NSLog(@"image removed");
}