2 votes

animation lors du changement de vue swift

Je suis nouveau dans le monde de Swift, je veux faire une animation en changeant la vue d'un contrôleur de vue à un autre contrôleur de vue. Préparez la scène : J'ai beaucoup cherché mais je n'ai pas trouvé de solution. Quelqu'un a-t-il une solution pour cela ?

1voto

Harshal.y Points 26
// call following code in the method where you want to add animation effect.

func buttonClicked(sender: UIButton){

  let transition = CATransition()
  transition.duration = 0.5
  transition.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
  transition.type = kCATransitionPush
  transition.subtype = kCATransitionFromRight
  self.navigationController?.view.layer.addAnimation(transition, forKey: nil)
  self.navigationController?.pushViewController(vc!, animated: true)

}

// you can vary the duration of transition according to your convenience 

// here transition.type are types of animation which you want to add on view. now we are pushing view so used push type. if want, you can google it for more types.

// subtype will decide the direction on animation.

0voto

JuicyFruit Points 1953

Vous n'avez pas besoin d'utiliser prepareForSeque, vous pouvez faire comme ceci :

@IBAction func buttonClicked(sender: UIButton) {   
    let destinationVC = storyboard?.instantiateViewControllerWithIdentifier("viewcontrollerID") as! ViewControllerClass
    self.presentViewController(destinationVC, animated: true, completion: nil)
}

viewcontrollerID est défini dans le storyboard (il est appelé identité dans l'inspecteur d'attributs (panneau de droite)), il doit être unique, ViewControllerClass est la classe de votre ViewController

Si vous utilisez UINavigationController

@IBAction func buttonClicked(sender: UIButton) {
   let destinationVC = storyboard?.instantiateViewControllerWithIdentifier("viewcontrollerID") as! ViewControllerClass 
   self.navigationController?.pushViewController(destinationVC, animated: true)
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X