我正在尝试更改IKImageBrowserView的组头的外观。 我已经看到我们可以提供一个带有IKImageBrowserGroupHeaderLayer的自定义CALayer,但我根本不知道如何使用它(如何获取图层的大小,知道该组是否被选中,......)
你有指针吗?
由于
答案 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
。