我正在使用 HSImageSidebarView
,当点击图像时,如果您想删除它,将弹出一个 AlertView
。
这是它删除侧边栏中显示的图像的方式:
-(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];
}
顺便说一句,我的图片来自NSDocumentDirectory
,但我想添加的是当点击侧边栏中的图片时,它还会删除NSDocumentDirectory
中的图片。
我知道这是如何删除 NSDocumentDirectory
中的图像,但我不知道如何在上面的代码中使用它。
- (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");
}
最佳答案
我希望这可以解决它:
- (void)sidebar:(HSImageSidebarView *)sidebar didRemoveImageAtIndex:(NSUInteger)anIndex { NSLog(@"Image at index %d removed", anIndex);//remove the image from Document dir [self removeImage:[images objectAtIndex:anIndex]]; //then remove the image from the Array. [images removeObjectAtIndex:anIndex];
}
- (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"); }
关于iphone - 删除 NSDocumentDirectory 中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11027229/