如何设置具有可变单元大小的IKImageBrowserView?

时间:2013-01-15 09:30:06

标签: cocoa ikimagebrowserview

我正在开发一个工具,允许用户导入视频剪辑并从这些视频剪辑制作电影。

要表示已创建IKImageBrowserView的导入视频片段,请将视频片段的帧图像添加为缩略图图像。一切都在这里。

但现在我想根据视频片段持续时间显示缩略图图像大小。即每个缩略图图像具有基于持续时间的不同大小。 (我想根据视频片段的持续时间显示缩略图图像宽度。

如果我使用[imageBrowser setCellSize:];,则会影响所有缩略图尺寸。但我想为每个缩略图应用不同的大小。

有人可以帮我解决这个问题吗?

如果IKImageBrowserView不是最适合我的问题,那么请告诉我解决问题的最佳控制方法。

1 个答案:

答案 0 :(得分: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