IKImageBrowserView의 그룹 머리글 모양을 변경하려고합니다. IKImageBrowserGroupHeaderLayer와 함께 커스텀 CALayer를 제공 할 수있는 것을 보았습니다 만, 어떻게 사용하는지 (레이어의 크기를 얻는 방법, 그룹이 선택되었는지를 아는 방법, ....)IKImageBrowserView 그룹 모양 사용자 지정
포인터가 있습니까?
감사
IKImageBrowserView의 그룹 머리글 모양을 변경하려고합니다. IKImageBrowserGroupHeaderLayer와 함께 커스텀 CALayer를 제공 할 수있는 것을 보았습니다 만, 어떻게 사용하는지 (레이어의 크기를 얻는 방법, 그룹이 선택되었는지를 아는 방법, ....)IKImageBrowserView 그룹 모양 사용자 지정
포인터가 있습니까?
감사
나는이 오늘에 이동이 있고 그것은 합리적으로 간단 나타났다. 그러나 IKImageGroupDisclosureStyle
그룹에서만 작동하는 것으로 나타났습니다.
이렇게하면 각 그룹의 상단에 멋진 핑크색 선이 나타납니다. 보기가 레이어를 표시 할 때 브라우저보기의 너비로 레이어의 크기가 조정되므로 bounds
의 width
에 넣은 값은 결과에 아무런 영향을주지 않지만 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];
}
"그룹이 선택되었는지 확인"에 관해서는 그룹 내의 항목 중 하나가 선택되었다고 가정합니까? 보기의 selectionIndexes
에서 변경 사항을 확인하고 어떤 항목을 선택했는지 결정한 다음 어떤 그룹에 속하는지 결정합니다 (그룹을 구성 할 때 IKImageBrowserGroupRangeKey
을 어떻게 제공했는지와 비슷한 프로세스를 사용하여 캐시했는지 확인합니다). reloadData
그룹 중 하나가 선택한 항목을 포함하는지 여부에 따라 다른 계층 구성 (또는 기타)을 반환합니다.
답장을 보내 주셔서 감사합니다. 한 가지를 제외하면 잘 작동합니다. 확장/축소 삼각형의 위치가 잘못되었습니다. 더 이상 그룹 내에 있지 않습니다. 같은 문제가 발생 했습니까? –