2012-05-24 6 views
0

UIView가 있고 CoreGraphics를 사용하여 기하학적 그림을 그렸습니다. 이 기하학적 그림은 UIView의 하위보기로 추가됩니다. UIPanGestureRecognizer를 사용하여 도면을 이동하려고합니다. 가능한 UIView 잡고 그냥 디자인 이동? 도면 뷰가 UIView 경우UIView를 잡고 하위 뷰만 이동하십시오.

답변

0

, 당신은 항상이 방법처럼 주위를 이동하는 UIPanGestureRecognizer을 추가 할 수 있습니다

- (void)drawingMoved:(UIGestureRecognizer *)sender 
{ 
    NSUInteger numOfTouch = [sender numberOfTouches]; 
    if (numOfTouch==1) { 
     CGPoint point = [sender locationInView:_parentView]; 
     UIView *drawingView = sender.view; 
     drawingView.center = point; 
    }  
} 
1

쓰기 코드 :

UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(drawingMoved:)];  
[_drawingView addGestureRecognizer:pan]; 
[pan release]; 

이 같은 움직임을 취급 .

UIPanGestureRecognizer *panRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panPiece:)]; 
    [panRecognizer setMinimumNumberOfTouches:1]; 
    [panRecognizer setMaximumNumberOfTouches:1]; 

    [panRecognizer setDelegate:self]; 
    [yourSubview addGestureRecognizer:panRecognizer]; 



- (void)panPiece:(UIPanGestureRecognizer *)gestureRecognizer 
{ 
    UIView *piece = [gestureRecognizer view]; 



    if ([gestureRecognizer state] == UIGestureRecognizerStateBegan || [gestureRecognizer state] == UIGestureRecognizerStateChanged) { 
     CGPoint translation = [gestureRecognizer translationInView:[piece superview]]; 

     [piece setCenter:CGPointMake([piece center].x + translation.x, [piece center].y + translation.y)]; 
     [gestureRecognizer setTranslation:CGPointZero inView:[piece superview]]; 

    } 

} 

위의 방법으로 코드를 구현하십시오. 그것은 당신에게 도움이 될 것입니다.

0

이동하는 개체를 필터링하기위한 조건 인 경우 작성할 수 있습니다. 이 링크의 내 게시물을 참조하십시오. click here : -

감사합니다!

관련 문제