2015-02-02 15 views
13

Ho un UIImageView con un'animazione e, nell'UIView, applico un effetto fadeIn, ma ho bisogno di applicare fade out quando UIImageView, che è animato, quando viene toccato.Dissolvenza in entrata e dissolvenza in Animazione Swift

Questo è quello che io faccio a svanire in

UIView.animateWithDuration(0.5, delay: delay, 
    options: UIViewAnimationOptions.CurveEaseOut, animations: { 
     uiImageView.alpha = 1.0 
     } 
+0

Il problema è che non è possibile far scomparire la vista dell'immagine se la si attiva durante l'animazione di dissolvenza? –

risposta

40

Questo è quello che vorrei fare in base alla mia ricerca:. (Supponendo che si sta utilizzando storyboard)

  1. andare al vostro UIImageView e sotto Attributi, seleziona la casella di controllo "Interazione utente abilitata".

  2. Trascinare un TapGestureRecognizer sulla parte superiore della visualizzazione dell'immagine.

  3. Fare clic tenendo premuto il tasto Gesture e trascinare per eseguire un'azione sul ViewControler.swift.

  4. Aggiungere il seguente codice all'interno:

    UIView.animateWithDuration(0.5, delay: 0.5, options: .curveEaseOut, animations: { 
        self.uiImageView.alpha = 0.0 
        }, completion: nil) 
    

Poi il gioco è fatto!

+0

Quale valore ho bisogno in ritardo? – PlugInBoy

+0

@PlugInBoy Ho modificato il blocco di codice nella mia risposta. Questo dovrebbe funzionare bene. – AntiStrike12

5

A partire da iOS 10 Apple ha lanciato il nuovo iOS Animations SDK che è molto più potente, soprattutto per quanto riguarda le funzioni di timing e l'interattività.

Fade codice con questo approccio sarà:

UIViewPropertyAnimator(duration: 0.5, curve: .easeOut, animations: { 
    self.uiImageView.alpha = 0.0 
}).startAnimation() 

per avere maggiori dettagli sulla Animator proprietà, dare un'occhiata a iOS 10 Animations demo.