前回紹介したページを参考にサンプルを作ってみる。簡単にできた。
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