どうすれば使えQLPreviewPanel
ますか?以前はパブリックAPIでなかったことは知っていますが、10.6になっています。標準のQuickLookパネルにファイルのプレビューを表示するにはどうすればよいですか?
3 に答える
QuickLookDownloaderコードを確認してください。コードに組み込むために必要ないくつかのことを説明しQLPreviewPanel
ます。これらのいくつかは次のとおりです。
- オブジェクトを
QLPreviewItem
プロトコルに準拠させる-これにより、プレビューするファイルの場所をクイックルックに指示します(ファイルをプレビューしている場合-カスタムデータを渡すことはできません)。 - のデータソースとデリゲートを定義します
QLPreviewPanel
(NSTableView
以前にsを使用したことがある場合、これはかなりおなじみのはずです)。 QLPreviewPanelController
プロトコル(データソースとデリゲートを割り当てる場所)を介してプレビューパネルを構成します。- 共有プレビューパネルを表示しています。
項目1〜3はMyDocument
、サンプルコードのクラスで処理されます。表示の切り替えは、ほとんどの場合AppDelegate
クラスで処理されます。DownloadsTableView
クラスではQLPreviewPanel
、スペースキーを介してFinderを切り替えるサポートもあります。
私はこれを自分で見ているだけです。そして、Appleがドキュメントの例で良いガイドを提供していることを発見しました。また、ここに良い例のコードとファイルがあります-> animgifqlgen
私はEnrichedHTMLメソッドを使用していますが、これは必要なものに対して機能しているようです。
アイデアは、ファイルの情報を解析するために通常使用するコードを使用することです。そして、レイアウトにhtmlを使用し、解析された情報を埋め込むと、htmlがQLパネル内に表示されます。通常のHTMLコードの多くは、size width length、bgcolor、src...のように機能します。
この例では、htmlパーツを含むコードの記述方法を示します。NSMutableStringとそのappendStringおよびappendFormat:を使用してhtmlをビルドします。
私はまだ他の方法を試していません。
テストのために、plistでドキュメントコンテンツタイプUTIを構成し、ビルドされた製品(プラグイン)のコピーを/ Users / username / Library /QuickLook/フォルダーに配置しました。
フォルダを作成する必要があるかもしれません。
QuickLookフォルダー内のプラグインをフォルダー内の新しいコピーをドラッグアンドドロップして置き換える場合は、プラグインが使用されている可能性があることに注意してください。古いものをゴミ箱に捨てるだけです。また、ActivityMonitorアプリを使用してQuickLookHelperプロセスを終了するのに役立つこともわかりました。そうすることで、まだメモリに残っている古いプラグインではなく、新しいバージョンのプラグインの結果が表示されていることを確認しました。(誰かが私が悪いことをしていると私に言うと確信しています;-))
悲しいことに、 ApplesQuickLookDownloaderデモはObj-Cを使用しています。Joshのデモをshowpanel機能で拡張 して、Swift: PanelandPopoverの例でどのように行われるかを示しました。