我想要的效果类似于iPhoto组(或时间线)的显示。

我已经实现了通用的IKImageBrowserView。这就像

但我不知道如何将它们分配到不同的组中。
我提到:customizing IKImageBrowserView group appearance,这可能是stackoverflow中唯一的帖子。
我使用了IKImageBrowserDataSource的4个方法。
- (NSUInteger)numberOfItemsInImageBrowser:(IKImageBrowserView *)browser;
- (id)imageBrowser:(IKImageBrowserView *)browser itemAtIndex:(NSUInteger)index;
- (NSUInteger)numberOfGroupsInImageBrowser:(IKImageBrowserView *)browser;
- (NSDictionary *)imageBrowser:(IKImageBrowserView *)browser groupAtIndex:(NSUInteger)index;我想我不知道如何为最后两个方法编写代码。
发布于 2013-02-19 09:25:11
您肯定需要实现最后两个方法才能让组出现。如果你只是想看看效果,你可以这样做:
- (NSUInteger) numberOfGroupsInImageBrowser:(IKImageBrowserView *) aBrowser
{
return 1;
}
- (NSDictionary *) imageBrowser:(IKImageBrowserView *) aBrowser groupAtIndex:(NSUInteger) index
{
NSRange r = {0, 3};
return @{IKImageBrowserGroupRangeKey: [NSValue valueWithRange:r],
IKImageBrowserGroupBackgroundColorKey: [NSColor redColor],
IKImageBrowserGroupStyleKey: [NSNumber numberWithInt:IKGroupDisclosureStyle]};
}groupAtIndex返回的目录中的重要关键字是IKImageBrowserGroupRangeKey。这描述了给定组中的图像范围。因此,必须将其转换为NSValue。
要使其真正有用,您需要缓存一组范围值,并提供一种对图像进行分组和解组的机制,但我希望这足以让您入门
https://stackoverflow.com/questions/14901792
复制相似问题