我想在UICollectionViewCell上实现和Pinterest一样的缩放效果。
我阅读了这篇stack post,并试图理解复杂的存储库。
所以我做了一些关于UIViewControllerAnimatedTransitioning的讲座。
为了简单起见,我只想将一个imageView从firstViewController移动到第二个firstViewController的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位置...
可能需要在此之前拿到第二名?我试过了,但没有得到更多的机会。
发布于 2015-09-29 00:50:23
https://stackoverflow.com/questions/32827742
复制相似问题