PhotoViewController + MockPhotoSource(显示本地照片)

时间:2009-12-29 02:09:07

标签: iphone objective-c three20

如果有人曾经使用过PhotoViewController,那么三个开源项目中的MockPhotoSource可以告诉我如何更改代码以在本地而不是在互联网上显示照片存储。 这是显示一张照片的代码示例:


- (void)viewDidLoad {
    self.photoSource = [[MockPhotoSource alloc]
                        initWithType:MockPhotoSourceNormal
                        title:@"Flickr Photos"
                        photos:[[NSArray alloc] initWithObjects:
[[[MockPhoto alloc]
initWithURL:@"http://farm4.static.flickr.com/3246/2957580101_33c799fc09_o.jpg"  
smallURL:@"http://farm4.static.flickr.com/3246/2957580101_d63ef56b15_t.jpg"                               
size:CGSizeMake(960, 1280)] autorelease], nil]
 ];
}
@end

该方法看起来像这样:


- (id)initWithURL:(NSString )URL smallURL:(NSString)smallURL size:(CGSize)size
    caption:(NSString*)caption {
  if (self = [super init]) {
    _photoSource = nil;
    _URL = [URL copy];
    _smallURL = [smallURL copy];
    _thumbURL = [smallURL copy];
    _size = size;
    _caption = [caption copy];
    _index = NSIntegerMax;
  }
  return self;
}

我不是Objective-C的专家,而且我认为这个项目的帮助不够。

最诚挚的问候,

2 个答案:

答案 0 :(得分:2)

好的我找到了一个解决方案,它并不复杂我只需要在initWithURL和smallURL之后使用bundle路径:


initWithURL:(@"bundle://image.jpg")
smallURL:(@"bundle://smallimage.jpg")

当然,在我使用数据库显示路径之后,我会在bundle之后放置一个参数,我认为它的'%s'

答案 1 :(得分:1)

网址不仅适用于互联网上的资源,还有file URL。通常,您在Cocoa中生成文件URL,如

  

NSString * path =文件系统中的某个路径;
NSURL * fileURL = [NSURL fileURLWithPath:path];

然后您可以根据需要使用fileURL!