2012-12-19 5 views
3

나는 UIViewController에 2 UIScrollViews, scrollView1, scrollView2을 포함하고 있습니다. 태핑UIView를 다른 UIView로 이동

scrollView1 내가로 전달되면, UIViewController 내부 메소드가 호출되고 scrollView1에 속하는 UIViewview을 눌러 때 scrollView2

로 이동하려는 그 중 하나가 UIViews의 많은 UIViews 포함 매개 변수.

[view removeFromSuperview]; 
[scrollView2 addSubview:view]; 

편집 : 당신은 같은 것을 시도해야 살아 움직이는듯한 움직임을 위해

: 당신과 같이 작성해야 그 방법에

답변

11

을 가정 할

CGPoint originalCenter = [self.view convertPoint:view.center fromView:scrollView1]; 
[view removeFromSuperView]; 
[self.view addSubview:view]; 
view.center = originalCenter; 

CGPoint destinationPointInSecondScrollView = ; // Set it's value 
CGPoint finalCenter = [self.view convertPoint:destinationPointInSecondScrollView fromView:scrollView2]; 
[UIView animateWithDuration:0.3 
         delay:0 
        options:UIViewAnimationOptionCurveEaseInOut 
       animations:^{ 
        view.center = finalCenter; 
       } completion:^(BOOL finished) { 
         [view removeFromSuperView]; 
         [scrollView2 addSubview:view]; 
         view.center = destinationPointInSecondScrollView; 
        }]; 
+0

감사합니다.하지만 id 실제로 애니메이션을 사용하여 뷰를 scrollView2로 옮기고 싶습니다.이 애니메이션을 어떻게 결합 할 수 있습니까? – jkigel

1

이 두 scrollViews이 속성으로 선언 됨 :

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    UITapGestureRecognizer *gesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(viewTapped:)] 
    for (UIView *view in self.scrollView1.subviews) { 
     [view addGestureRecognizer:gesture]; 
    } 
} 

- (void)viewTapped:(UITapGestureRecognizer *)gesture 
{ 
    UIView *view = gesture.view; 
    [self moveToScrollView2:view]; 
} 

- (void)moveToScrollView2:(UIView *)view 
{ 
    [view removeFromSuperview]; 
    [self.scrollView2 addSubview:view]; 
} 
관련 문제