부모가 여러 하위 뷰가있는 UIView
입니다.부모의 다른 UIView 뒤에 UIView가 있는지 검색
하위보기는 형제입니다. 하위보기는 서로 하위보기가 아닙니다. 예를 들어
(자신의 수퍼에서 같은 계층 구조로 수준에서 각각) :
UIView *containerView = [[UIView alloc] initWithFrame:frame];
CustomUIView *childView = [[UIView alloc] initWithFrame:anotherFrame];
CustomUIView *yetAnotherChildView = [[UIView alloc] initWithFrame:anotherFrame];
[containerView addSubview:childView];
[containerView addSubview:yetAnotherChildView];
[containerView bringSubviewToFront:childView];
나는 yetAnotherChildView
그것이 다시보기 계층 구조에서 이동 된 감지 할 수 있어야합니다. 어떻게 할 수 있습니까?
편집 :
은 내가 containerView
가 파단 무엇보다 무엇인지 알 수 이해 -하지만 난 containerView
이 순서가 변경된 것을 그 파단 통지 (수) wan't하지 않습니다 - 추가 상상 주식 시세의 하위 뷰 ontop - 주식 시세는 하위 뷰에 대해 알지 못하며 그러한 통지를 받기를 원합니다.
하위 뷰 CustomUIView
(이 아마 아주 나쁜 솔루션입니다)
CustomUIView
-(id)initWithFrame
{
[self.superView addObserver:self forKeyPath:@"subViews" options:options context:context];
}
- (void)observeValueForKeyPath:(NSString *)keyPath
ofObject:(id)object
change:(NSDictionary *)change
context:(void *)context
{
// if keyPath is "subViews" array check if "this" view is ontop and adjust self accordingly
}
내가 다시 전송 된 검출하기 위해 하위 뷰를 원한다. 나는 그것이 그것이 뒤로 옮겨 졌다는 것을 명시 적으로 알려주고 싶지 않습니다. 시각적으로 볼 때 일부 애니메이션이 발생하는 경우를 이미징합니다. '보이지 않을 때 나는 애니메이션을 멈추고 싶다. 하위보기에는 "z"색인이 다른보기 아래에있는 것을 알 수있는 메커니즘이 필요합니다. –
Ok. 그래서 하나의보기 만 (슈퍼 뷰에서) 표시됩니까? –
이 특별한 경우 예 -하지만 일반화 될 수 있습니다 –