我正在使用HSImageSidebarView
,在开源项目中包含的示例中,这是如何加载侧边栏中的图像:
-(UIImage *)sidebar:(HSImageSidebarView *)sidebar imageForIndex:(NSUInteger)anIndex {
int color = [[colors objectAtIndex:anIndex] intValue];
switch (color % 3) {
case 0:
return [UIImage imageNamed:@"Blue"];
break;
case 1:
return [UIImage imageNamed:@"Red"];
break;
default:
return [UIImage imageNamed:@"Green"];
}
}
我的问题是如何从NSDocumentDirectory
添加我自己的图像。这是我的阵列:
self.images = [NSMutableArray new];
for(int i = 0; i <= 100; i++)
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [paths objectAtIndex:0];
NSString *savedImagePath = [documentsDir stringByAppendingPathComponent:[NSString stringWithFormat:@"Images%d.png", i]];
NSLog(@"savedImagePath=%@",savedImagePath);
if([[NSFileManager defaultManager] fileExistsAtPath:savedImagePath]){
[images addObject:[UIImage imageWithContentsOfFile:savedImagePath]];
NSLog(@"file exists");
}
NSLog(@"file does not exist");
}
感谢您的帮助!
答案 0 :(得分:1)
会做这样的事情。
-(UIImage *)sidebar:(HSImageSidebarView *)sidebar imageForIndex:(NSUInteger)anIndex {
return (UIImage*)[self.images objectAtIndex:anIndex];
}
您已将UIImage
存储到images
数组中。因此,不需要像示例那样使用-imageNamed:
方法。相反,您所做的是使用images
方法从objectAtIndex:
数组返回所述索引处的图像。
希望这有帮助。