ページ

2008年11月14日金曜日

Quick Look APIs(その2)

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

前回紹介したページを参考にサンプルを作ってみる。簡単にできた。



QuickLookのパネルを表示するのに最低限必要なのは3つ。

(1) ライブラリのロード

[[NSBundle bundleWithPath:@"/System/Library/PrivateFrameworks/QuickLookUI.framework"] load];


(2) 表示対象のURLを設定
 [[QLPreviewPanel sharedPreviewPanel] setURLs:list
currentIndex:0
preservingDisplayState:YES];

setURLs に NSURLの配列(NSArray)を渡す。

(3) パネルの表示
[[QLPreviewPanel sharedPreviewPanel] makeKeyAndOrderFrontWithEffect:2];


サンプルはこんな感じ。
#import "AppController.h"
#import "QuickLook.h"

#define QLPreviewPanel NSClassFromString(@"QLPreviewPanel")

@implementation AppController
- (void)awakeFromNib
{
[[NSBundle bundleWithPath:@"/System/Library/PrivateFrameworks/QuickLookUI.framework"] load];
}

- (IBAction)look:(id)sender
{
NSMutableArray* list = [NSMutableArray array];
NSBundle* bundle = [NSBundle mainBundle];
NSURL* url = [NSURL fileURLWithPath:[bundle pathForImageResource:@"image"]];
[list addObject:url];

[[QLPreviewPanel sharedPreviewPanel] setURLs:list
currentIndex:0
preservingDisplayState:YES];
[[QLPreviewPanel sharedPreviewPanel] makeKeyAndOrderFrontWithEffect:2];
}

@end



サンプル:QuickLook-1.zip