2015-10-15 20 views
6

Voglio mostrare (ad esempio, push) segui nel mio storyboard, per connettere i miei viewcontrollers e il mio controller di navigazione. Quindi le barre di navigazione sui viewcontrollers mostreranno correttamente. Ad esempio: Con il dettaglio dello spettacolo o il modale attuale, la barra di navigazione scompariràDisabilitazione animazione sequenze

Ma non voglio l'animazione dei passi. Xcode sta dando l'avviso del tipo: "La disattivazione di animazione segue non è disponibile prima di iOS 9.0"

E mi vuole destinazione di distribuzione di iOS 7.0 o 8.0

Come posso risolvere questo problema?

Grazie in anticipo.

+0

vedono questo link può essere voi aiuta http://stackoverflow.com/questions/32890470/xcode -ignore-storyboard-warning –

risposta

13

È possibile disabilitare le animazioni prima di eseguire il seguito e dopo abilitarlo nuovamente.

UIView.setAnimationsEnabled(false) 
self.performSegueWithIdentifier("next", sender: nil) 
UIView.setAnimationsEnabled(true) 

Questo eseguirà il seguito senza l'animazione.

+0

Questo sembra funzionare per me. – codeDude

+0

Felice di sentire, non dimenticare di contrassegnare accettato se funziona nel modo desiderato :) – Arbitur

+0

Sì, ma una domanda: U dire "dopo abilitarlo": vuoi dire che hai messo UIView.setAnimationsEnabled (true) direttamente dopo il performsegue in ad esempio un IBAction? – codeDude

3

Ho fatto un segue personalizzato, utilizzando la risposta Swift in questa discussione:
Push segue in xcode with no animation

Quindi:

class ShowNoAnimationSegue: UIStoryboardSegue { 

    override func perform() { 
     let source = sourceViewController as UIViewController 
     if let navigation = source.navigationController { 
      navigation.pushViewController(destinationViewController as UIViewController, animated: false) 
     } 
    } 
} 

E in Xcode, negli attributi ispettore della Segues personalizzati, ho controllato la casella 'Animates' (YES). Ora l'avvertimento è sparito, ecco perché sto rispondendo alla mia stessa domanda.

Non sono ancora sicuro se si tratta di una soluzione duratura.

-3

Cliccare sulla freccia segue in Main.Storyboard e poi:

enter image description here

Partenza Animates

+0

Lo so, ma questo dà l'avvertimento: "Disattivare l'animazione successiva non è disponibile prima di iOS 9.0" – codeDude

+0

@codeDude sì, è un metodo deprecato. È normale;) –

+0

O.o Ha funzionato per me e dal momento che il mio obiettivo di distribuzione è iOS 9.0, non c'era alcun avviso. Ma è deprecato? Mi aspettavo un avvertimento a riguardo. –