C'è un modo per avere diversi barTintColor
di UINavigationController
s' UINavigationBar
su diversi controller spinto con colore transizione graduale animazione?iOS 7 UINavigationController NavBar per controller di animazione di colore
Mi piacerebbe avere una superficie liscia animazione UINavigationBar
'colore di tinta s durante UINavigationController
' s push/pop animazione e idealmente anche pop interattivo (gesto controller di pop).
Perché ho bisogno di questo? Mi piacerebbe avere 1 controller nello stack di navigazione per avere colori diversi che indicano lo stato di alcune attività (rosso/verde ecc.).
Quello che ho provato finora:
viewWillAppear
(vista del ciclo di vita) metodi, ma non v'è alcun modo per animare labarTintColor
(comesetBarTintColor:animated:
)- Per cambiare
barTintColor
in[UIView animation...]
blocco, ma che appena anima stranamente il frame di (probabilmente) qualche livello di sfondo invece della transizione di colore uniforme. - Per modificare
barTintColor
nel blocco[UIView transitionWithView:...]
conUIViewAnimationOptionTransitionCrossDissolve
, ma ciò non modifica le animazioni. Modifica istantaneamente al nuovo colore della tinta dopo la durata dell'animazione - Ho avuto un'idea di implementare la nuova transizione personalizzata iOS 7 calcolando e cambiando il colore della barra di spostamento durante l'avanzamento, ma sembra essere un grande overkill (specialmente se voglio mantenere l'animazione originale aspetto in tutto il mondo)
Grazie a tutti per tutte le idee e risposte
Hai mai trovare una soluzione per questo? – jpsim
Sfortunatamente, non ho :-( –
Prova a impostare 'barTintColor' all'interno del metodo' viewWillAppear' in _all_ Visualizza controller. Ho riscontrato questo problema quando 'barTintColor' è stato impostato solo nel secondo controller. Quando è impostato su tutti i controller, barra il colore della tinta è animato senza intoppi (non testò però le transizioni interattive) – skozin