我正在开发一个工具,将允许用户导入视频剪辑,并从这些视频剪辑的电影。
为了表示导入的视频剪辑,我创建了IKImageBrowserView,并将视频剪辑的帧图像添加为缩略图图像。到目前为止,一切都很正常。
但是现在我想根据视频剪辑的持续时间来显示缩略图的大小。即,每个缩略图图像基于持续时间具有不同的大小。(我想显示缩略图的宽度将根据视频剪辑的持续时间进行更改。
如果我使用[imageBrowser setCellSize:];,那么它将影响所有缩略图的大小。但我想为每个缩略图应用不同的大小。
有人能帮我解决这个问题吗?
如果IKImageBrowserView不是最适合我的问题,那么请建议我最好的控制来解决我的问题。
发布于 2013-05-05 11:17:52
最好的解决方案是为自定义IKImageBrowserView实现自己的IKImageBrowserCell子类
首先,您需要将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
https://stackoverflow.com/questions/14334642
复制相似问题