1

誰かがPho​​toViewControllerを使用したことがあり、three20オープンソースプロジェクトのMockPhotoSourceを使用したことがある場合、インターネットではなくローカルでフォトストアを表示するようにコードを変更する方法を教えてください。これは、1枚の写真を表示するコードの例です。


- (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")

もちろん、データベースを使用してパスを表示した後、バンドルの後に引数を配置します。'%s'だと思います。

于 2009-12-30T09:33:51.777 に答える
1

URLはインターネット上のリソースだけでなく、ファイルURLもあります。通常、CocoaでファイルURLを次のように生成します。

NSString *path=ファイルシステム内のパス;
NSURL * fileURL = [NSURL fileURLWithPath:path];

その後、必要に応じてfileURLを使用できます。

于 2009-12-29T03:54:48.463 に答える