我正在尝试创建自定义iOS 7 Transition。目前我有一个像这样的简单圆圈视图:
我在自定义视图上有一个手势识别器。单击时,将调用自定义转换委托
`-[CCZTTransitionDelegate animationControllerForPresentedController:presentingController:sourceController:]`
反过来调用转换动画类的两个方法:
-[CCZTAnimatedTransitioning transitionDuration:]
-[CCZTAnimatedTransitioning animateTransition:]
目前我刚刚让第二个控制器放大,这一切都正常......
期望效果
点击圆圈时我想做的是
1.让圆圈的大小增加,直到屏幕完成覆盖其颜色
2.淡出第二个控制器
完成第1步的最佳方法是什么?这可以在过渡代表/过渡动画方法中完成吗?
在这个方法- (void)animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext
中,我看起来可以访问视图控制器而不是子视图。动画是否应该以某种方式完成,如果是这样的话?
注意:最终会有一组圈子不仅仅是一个圈子。
编辑:
同样重要的是要注意我实际上是想从圆心放大。因此,如果圆圈位于其他位置(即有更多圆圈),则圆圈应从其自身的中心点放大/缩小。
答案 0 :(得分:0)
尝试在圆形视图上使用CGAffineTransformScale动画并展开它以填充整个视图。完成扩展后(通过UIView动画完成块或使用UIViewKeyFrameAnimation),在填充视图后面显示下一个视图控制器。一旦呈现,淡出视图以通过在动画块中按下α视图来显示新呈现的视图控制器。