0

ユーザーがビデオ クリップをインポートして、それらのビデオ クリップからムービーを作成できるツールを開発しています。

インポートされたビデオ クリップを表すために、ビデオ クリップのフレーム画像を作成しIKImageBrowserView、サムネイル画像として追加しました。ここまですべてが機能しています。

しかし、ビデオクリップの長さに基づいてサムネイル画像のサイズを表示したかったのです。つまり、すべてのサムネイル画像のサイズは、期間に基づいて異なります。(ビデオクリップの長さに基づいてサムネイル画像の幅が変更されることを示したかった.

私が使用[imageBrowser setCellSize:];すると、すべてのサムネイルサイズに影響します。しかし、サムネイルごとに異なるサイズを適用したかったのです。

誰でもこの問題を解決するのを手伝ってもらえますか?

私の問題に最適でない場合IKImageBrowserViewは、私の問題を解決するための最良のコントロールを提案してください。

4

1 に答える 1

1

最善の解決策はIKImageBrowserCell、カスタム用に独自のサブクラスを 実装することですIKImageBrowserView

まず、 をサブクラス化しIKImageBrowserView、オーバーライドする必要がありますnewCellForRepresentedItem: 。このメソッドでは、 の独自のサブクラスのインスタンスを返しますIKImageBrowserCell

のサブクラスでIKImageBrowserCell、次のメソッドをオーバーライドして、表示されるビデオ クリップに基づいてレイアウトを動的に変更します: (非公式プロトコルに準拠する必要があるビデオ クリップ データ モデルを取得するにはIKImageBrowserItem、 を使用します-[IKImageBrowserCell representedItem]) 。

- (NSRect) imageContainerFrame;
- (NSRect) imageFrame; 
- (NSRect) selectionFrame;
- (NSRect) titleFrame;
- (NSRect) subtitleFrame;   
- (NSImageAlignment) imageAlignment;

ADC のデモ プロジェクトもあります。

http://developer.apple.com/library/mac/#/legacy/library/samplecode/ImageKitDemo/Introduction/Intro.html

于 2013-05-05T03:17:52.153 に答える