2016-12-09 3 views
0

나는 view1, view2 및 view3이 있습니다. view2는 view1의 하위보기이고 view3은 view2의 하위보기입니다. view3을 view1과 view2 내부로 이동하고 싶지만 view1 내에서 view1을 릴리스하면 다시 선택할 수 없습니다.수퍼 뷰에서 서브 뷰 이동

다음은 내가 시도한 코드입니다.

UIPanGestureRecognizer* panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePan:)]; 
[self.thriedView addGestureRecognizer:panGesture]; 

- (void) handlePan: (UIPanGestureRecognizer*) panGesture { 
    if (panGesture.state == UIGestureRecognizerStateChanged) { 
     CGPoint translation = [panGesture translationInView:panGesture.view]; 
     panGesture.view.center = CGPointMake(panGesture.view.center.x + translation.x, 
              panGesture.view.center.y + translation.y); 

     [panGesture setTranslation:CGPointZero inView:panGesture.view]; 
    } 
} 

답변

0

두 번째보기 외부에서 세 번째보기를 놓으면 슈퍼보기 외부에 있습니다. 수퍼 뷰 외부의보기는 기본적으로 터치 할 수 없습니다 (즉, 터치 이벤트를 수신 할 수 없음). 그래서 당신은 "다시 선택할 수 없습니다".

+0

그리고 view2와 view1 내에서 view3을 어떻게 움직일 수 있습니까? – Katrin

+0

view3을 view2의 하위보기로 만들지 마십시오. 보기 1의 하위보기로 만 만듭니다. – matt

+0

계층을 변경하지 않고이 문제를 해결할 방법이 없습니까? – Katrin

관련 문제