我想在UICollectionViewCell上完成与Pinterest相同的缩放效果。
我读了这个stack post并尝试理解复杂的回购。
所以我做了一些关于UIViewControllerAnimatedTransitioning的演讲。
并且开始简单只是想将imageView从firstViewController移动到secondViewController的imageView的位置。现在并不关心规模。
所以我的2 VC在不同位置只有1个imageView。没有其他子视图。 并且firstViewController具有带方法的UIViewControllerTransitioningDelegate。
class MoveAnimation: NSObject, UIViewControllerAnimatedTransitioning {
let duration = 2.0
func transitionDuration(transitionContext: UIViewControllerContextTransitioning) -> NSTimeInterval {
return duration
}
func animateTransition(transitionContext: UIViewControllerContextTransitioning) {
let containerView = transitionContext.containerView()
let toVC = transitionContext.viewControllerForKey(UITransitionContextToViewControllerKey) as! SecondViewController
let fromVC = transitionContext.viewControllerForKey(UITransitionContextFromViewControllerKey) as! ViewController
let toView = toVC.view
let fromView = fromVC.view
containerView.addSubview(toView)
containerView.addSubview(fromView)
let frame2 = toVC.imageView.frame
UIView.animateWithDuration(duration, animations: { () -> Void in
fromVC.imageView.frame = frame2
}) { (result) -> Void in
transitionContext.completeTransition(true)
}
}
}
没有写出我意识到的所有实验。 但是这个动画从0,0开始并且不符合SecondViewController的imageView位置......
可能需要在此之前获得第二名? 试图这样做,但没有更多的机会..
答案 0 :(得分:-1)