Il mio obiettivo è quello di avviare un'animazione fluida nel primo controller della vista e terminare nel secondo controller della vista.Animazione personalizzata di transizione ritardo sconosciuto tra animazioneControllerForPresentedController e animateTransition
Sto sperimentando l'animazione di transizione utilizzando oggetti conformi ai protocolli UIViewControllerAnimatedTransitioning
e UIViewControllerTransitioningDelegate
. Ho impostato due controller di visualizzazione (VC) nello storyboard e li ho collegati con segue (visualizzazione predefinita). Ho anche eseguito il metodo unwind segue nel primo VC e impostato un pulsante per questo nel secondo VC.
Ho un problema strano. mio oggetto ha metodi
func animationControllerForPresentedController(presented: UIViewController, presentingController presenting: UIViewController, sourceController source: UIViewController) -> UIViewControllerAnimatedTransitioning? {
self.presenting = true
NSLog("start")
return self
}
func animateTransition(transitionContext: UIViewControllerContextTransitioning) {
if presenting {
NSLog("Animation Push")
transitionPush(transitionContext)
}
else {
NSLog("Animation Pop")
transitionPop(transitionContext)
}
}
ho due diversi metodi per l'animazione dal primo VC al secondo e dal secondo al primo VC. Attivando segue ho un ritardo molto strano tra i metodi animationControllerForPresentedController
e animateTransition
. A volte può essere circa 1 secondo, e la mia intera animazione di transizione deve essere 1 secondo più questo ritardo imprevisto è troppo grande. Ecco un registro:
2015-02-08 19:52:33.528 MyApp[1318:119598] start
2015-02-08 19:52:33.979 MyApp[1318:119598] Animation Push
Non so il motivo per cui questo ritardo si verificano e se c'è un modo per eliminare o ridurre esso? Ho provato a verificare se questo potrebbe essere il mio codice, ma non ho trovato alcuna prova di ciò. Sentiti libero di chiedere maggiori informazioni.
sono stati in grado di risolvere questo? Anche in esecuzione nello stesso problema. – TWilly
Ho visto questo post discutere del bug di ios8. Ho provato alcuni dei workaround ma non ho ancora ottenuto nulla per funzionare. http://gotoanswer.com/?q=Animation+not+always+visible+from+animateTransition+in+UIViewControllerAnimatedTransitioning – TWilly
@TWilly in questo momento ho messo da parte questo problema, ma ci tornerò presto. Ma ora ho qualche idea a riguardo. Per prima cosa ho descritto nella mia risposta per un altro argomento nella sezione di modifica http://stackoverflow.com/a/25618714/1207902 Penso anche che questo potrebbe essere il mio modello, che ha elaborato i dati troppo a lungo e questo si traduce in un tale ritardo. Ad ogni modo, tornerò su questo problema e cercherò di scrivere una risposta, quando ho finito. Ma puoi controllare i punti che specifichi. –