2014-12-09 36 views
47

Şu anda iki görüntü denetleyicim var. Sorunum, ikinci görüntü denetleyiciye değiştirdikten sonra düğmeyi nasıl gizleyeceğimi bilmem. Çoğunlukla objektif-C'de bulduğum referanslar. Nasıl çabucak kodlarım?Swift - Gezinme öğesinde geri düğmesi nasıl gizlenir?

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

cevap

188

Düz amaç-c

Hide geri düğmesi kodu Benim durumumda

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

snarkiness ücretsizdir. – Greg

+1

Korkunç bir şekilde yanıt 8 tane artıyor, yani en az birkaç kişi aynı şeyi aramaya geliyor. – Paulw11

+28

Seni korkutabilirsin @ Paulw11, ama asıl gerçek Google’da "Swift back back butonu" yazıyor ve buraya geliyor - benim yaptığım gibi - resmî belgelerde metnin reams'ından daha hızlı * ton * daha hızlı. –

19

yalnızca bu şekilde çalıştı aşağıdaki kodla

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

Benim için de aynı, ancak nedenini anlamak istiyorum. Kabul edilen cevap ile bu yaklaşım arasındaki farkın ne olduğunu bilen var mı? Düşünebildiğim tek şey miras modeli vs navigasyon çubuğunun statik bir versiyonudur. –

+0

Büyük teşekkürler. Bu çok zaman kazandı. :) –

+1

@HelmutGranda Bruno'nun bir Tab Bar Denetleyicisi kullandığını fark ederseniz, fark budur. Kabul edilen cevaplarda, VC büyük olasılıkla bir navigasyon kontrolörüne gömülüdür. – cloudcal

-1

Bu kod

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

gizle deneyin ya gezinme çubuğunu gösterebilir. animasyonlu ise, dikey Bu aynı zamanda UINavigationController sınıf belgelerinde bulunan UINavigationControllerHideShowBarDuration

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

kullanarak geçirecektir:

navigationItem.hidesBackButton = true 
İlgili konular