Pinterest Like - UIViewControllerAnimatedTransitioning

Искам да постигна същия ефект на мащабиране на UICollectionViewCell, отколкото Pinterest.

Прочетох тази пост на стека и се опитвам да разберете сложното репо.

Така че направих лекция за UIViewControllerAnimatedTransitioning.

и за да започна просто, просто исках да преместя imageView от firstViewController на позицията на imageView на secondViewController. в момента не се интересува от мащаба.

така че моят 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 и не съответства на позицията на imageView на SecondViewController...

вероятно трябва да получите 2-ра позиция може би преди? опитах да го направя, но не получих повече шансове..


person raphael    schedule 28.09.2015    source източник


Отговори (1)


Не знам за вашето кодиране, но има контрол на трета страна, който дава анимация като pinterest.

По-долу е връзката за това

https://github.com/xhzengAIB/PinterestAnimator

person Community    schedule 28.09.2015