2014-12-09 14 views
47

In questo momento ho due controller di vista. Il mio problema è che non so come nascondere il pulsante indietro dopo la modifica nel secondo controller della vista. Principalmente riferimenti che ho trovato nell'obiettivo C. Come lo codice in rapido?Swift - Come nascondere il pulsante indietro nella voce di navigazione?

indietro Nascondi codice del pulsante in Objective-C

[self.navigationItem setHidesBackButton:YES animated:YES]; 

risposta

188

Direttamente dal UINavigationItem class reference documentation -

self.navigationItem.setHidesBackButton(true, animated:true); 
+20

la snarkiness è gratuito. – Greg

+1

Stranamente la risposta ha 8 upvotes, quindi significa che almeno altre persone sono venute a cercare la stessa cosa. – Paulw11

+28

Potrebbe spaventarti @ Paulw11, ma il semplice fatto sta digitando "Swift hide back button" in Google e venire qui - come ho appena fatto - è * tonnellate * più veloce di arare le risme di testo nella documentazione ufficiale. –

19

Nel mio caso ha funzionato solo in questo modo:

override func viewWillAppear(animated: Bool) { 
    super.viewWillAppear(animated) 
    self.tabBarController?.navigationItem.hidesBackButton = true 
} 
+0

Lo stesso per me, tuttavia mi piacerebbe capire perché. Qualcuno sa qual è la differenza tra la risposta accettata e questo approccio? L'unica cosa che posso pensare è il modello di ereditarietà rispetto a una versione statica della barra di navigazione. –

+0

Enorme, grazie a te. Questo ha risparmiato un sacco di tempo. :) –

+1

@HelmutGranda Se noti che Bruno sta usando un controller Tab Bar, questa è la differenza. Nel caso delle risposte accettate, il VC è probabilmente incorporato in un controller di navigazione. – cloudcal

2

Puoi provare con il codice sottostante

override func viewDidAppear(_ animated: Bool) { 
    self.navigationController?.isNavigationBarHidden = true 
} 
-1

Si può provare questo codice

self.navigationController?.setNavigationBarHidden(true, animated: false) 

nascondere o visualizzare la barra di navigazione. Se animato, sarà transizione verticalmente utilizzando UINavigationControllerHideShowBarDuration

open func setNavigationBarHidden(_ hidden: Bool, animated: Bool) 
2

Questo si trova anche nella documentazione relativa alla classe UINavigationController:

navigationItem.hidesBackButton = true 
Problemi correlati