1

如果有人曾经使用过 PhotoViewController 和 three20 开源项目中的 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 方面的专家,我认为目前对这个项目没有足够的帮助。

此致,

4

2 回答 2

2

好的,我找到了一个解决方案,这并不复杂,我只需要在 initWithURL 和 smallURL 之后使用捆绑路径,如下所示:


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

当然,在我将使用数据库显示路径之后,我会在 bundle 之后添加一个参数,我认为它是 '%s'

于 2009-12-30T09:33:51.777 回答
1

URL 不仅适用于 Internet 上的资源,还有一个文件 URL。通常,您在 Cocoa 中生成一个文件 URL,如

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

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

于 2009-12-29T03:54:48.463 回答