开发者社区 问答 正文

移动UIView到另一个UIView中

我有一个UIViewController中包含了两个UIScrollView。scrollView1, scrollView2。

scrollView1包含了很多UIViews,当用到其中一个UIView时我希望能移动到scrollView2中。

同时在用到UIView的时候,UIViewController会调用其中一个方法,view作为参数传递

展开
收起
爵霸 2016-03-26 10:27:18 1965 分享 版权
1 条回答
写回答
取消 提交回答
  • [view removeFromSuperview];
    [scrollView2 addSubview:view];

    动态移动应该这样设置:

      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 = convertPoint:destinationPointInSecondScrollView;
                         }];
    2019-07-17 19:15:36
    赞同 展开评论
问答地址: