自定义IKImageBrowserView组外观

时间:2011-11-25 11:57:24

标签: grouping appearance ikimagebrowserview

我正在尝试更改IKImageBrowserView的组头的外观。 我已经看到我们可以提供一个带有IKImageBrowserGroupHeaderLayer的自定义CALayer,但我根本不知道如何使用它(如何获取图层的大小,知道该组是否被选中,......)

你有指针吗?

由于

1 个答案:

答案 0 :(得分:1)

今天我已经参加了此次活动,看起来相当简单。但是,重要的是要注意,它似乎只适用于IKImageGroupDisclosureStyle组。

这在每组的顶部提供了一条漂亮的粉红色线条。似乎当视图显示图层时,它会将图层的大小调整为浏览器视图的宽度,因此我在width bounds中放置的内容对结果没有任何影响,但它确实尊重{ {1}}。

height

关于“知道该组是否已被选中”,我假设您的意思是选择该组中的一个项目?我会观察视图的- (NSDictionary *) imageBrowser:(IKImageBrowserView *) aBrowser groupAtIndex:(NSUInteger) index { CALayer *headerLayer = [CALayer layer]; headerLayer.bounds = CGRectMake(0.0, 0.0, 100.0, 30.0); CGColorRef colour = CGColorCreateGenericRGB(1.0, 0.5, 0.7, 1.0); headerLayer.backgroundColor = colour; CGColorRelease(colour); return [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithInt: IKGroupDisclosureStyle], IKImageBrowserGroupStyleKey, headerLayer, IKImageBrowserGroupHeaderLayer, nil]; } 进行更改,确定选择了哪个项目,然后确定它们落在哪个组中(使用与配置组时{1}}提供的方式类似的过程,我希望你已经缓存了!)并且根据它是否包含所选项目,使用其中一个组返回不同的层配置(或其他)来调用selectionIndexes