图像缩放从UITableViewCell到UIViewController的转换

时间:2013-11-04 11:51:57

标签: objective-c uitableview core-animation uiviewanimationtransition

我正在尝试为自定义转换(iOS7,UIViewControllerAnimatedTransitioning)实现动画,当来自UITableViewCell的缩略图图像开始缩小到全屏时,转换结束时,新的(模态)UIViewController全屏显示背景图像,这是源UITableViewCell的缩略图中更高质量的图像。

使用自定义转换的“准备”代码很好,现在我正在委托方法中的实际动画实现中苦苦挣扎:

- (void)animateTransition:(id <UIViewControllerContextTransitioning>)transitionContext
{
    UIViewController *fromVC = [transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey];
    UIViewController *toVC = [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey];

    CGRect sourceRect = [transitionContext initialFrameForViewController:fromVC];
    CGRect finalRect = [transitionContext finalFrameForViewController:toVC];

    UIView *container = [transitionContext containerView];

    if (self.mode == TRANSITION_MODE_INITIAL) {
       //TODO: back to the table listing

    } else if (self.mode == TRANSITION_MODE_MODAL) {
       //TODO: take a thumbnail and zoom out, then replace with toVC's view?
    }
}

我将所选的UITableViewCell传递给这个自定义Transition类,因此我可以访问单元格的所有子视图来实现动画。

我无法正常得分:

  1. 放大toVC并将其放在缩略图位置(框架)然后设置其缩小动画而不是缩放实际缩略图是否正确?
  2. 这里的容器有什么作用?如何正确使用?

0 个答案:

没有答案