UIImage难度

时间:2012-06-14 03:48:09

标签: iphone ios xcode

我正在使用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");
} 

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

会做这样的事情。

-(UIImage *)sidebar:(HSImageSidebarView *)sidebar imageForIndex:(NSUInteger)anIndex {

    return (UIImage*)[self.images objectAtIndex:anIndex];

}

您已将UIImage存储到images数组中。因此,不需要像示例那样使用-imageNamed:方法。相反,您所做的是使用images方法从objectAtIndex:数组返回所述索引处的图像。

希望这有帮助。