I’m using the HSImageSidebarView, when an image is tapped, an AlertView will pop-up if you want to delete it.
This is how it deletes its image shown in the sidebar:
-(void)sidebar:(HSImageSidebarView *)sidebar didTapImageAtIndex:(NSUInteger)anIndex {
NSLog(@"Touched image at index: %u", anIndex);
if (sidebar.selectedIndex == anIndex) {
UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:@"Delete image?"
delegate:self
cancelButtonTitle:@"Cancel"
destructiveButtonTitle:@"Delete" otherButtonTitles:nil];
self.actionSheetBlock = ^(NSUInteger selectedIndex) {
if (selectedIndex == sheet.destructiveButtonIndex) {
[sidebar deleteRowAtIndex:anIndex];
self.actionSheetBlock = nil;
}
};
[sheet showFromRect:[sidebar frameOfImageAtIndex:anIndex]
inView:sidebar
animated:YES];
}
}
- (void)sidebar:(HSImageSidebarView *)sidebar didRemoveImageAtIndex:(NSUInteger)anIndex {
NSLog(@"Image at index %d removed", anIndex);
[images removeObjectAtIndex:anIndex];
}
BTW, my images are from NSDocumentDirectory, but what I wanted to add is when an image is tapped in the side bar, it also deletes the image in NSDocumentDirectory.
I know this is how to delete the image in the NSDocumentDirectory, but i dont know how to use it in the above code.
- (void)removeImage:(NSString*)fileName {
NSFileManager *fileManager = [NSFileManager defaultManager];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *fullPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.png", fileName]];
[fileManager removeItemAtPath: fullPath error:NULL];
NSLog(@"image removed");
}
You need to keep a list of file names along with your images. Or, in your case, I saw in your last question that your filenames are predictable. So just substitute Document Directory/image+index.png for
fullPathin the above example. If that is not the case anymore, then you need to keep track of the filenames when you read them in, and store them in another array with the same indices.