2012-02-29 13 views
42

Mam aplikację z paskiem nawigacji, która przesuwa do kontrolera widoku ekranu logowania, a następnie przechodzi do menu głównego. Czy istnieje sposób usunięcia przycisku wstecz z głównego menu, aby użytkownik nie mógł wrócić do ekranu logowania?iOS jak usunąć przycisk Wróć?

Dzięki!

EDYCJA: Używając Xcode 4.3 i programowo wykonując wszystkie czynności nóg.

Odpowiedz

104

można zrobić:

[self.navigationItem setHidesBackButton:YES]; 

W swoim drugim kontrolerze widoku (ten, który chcesz ukryć przycisk w).

+0

Fantastyczny! Dziękuję – jbearden

+3

Może zaistnieć potrzeba ponownego przemyślenia za pomocą stosu nawigacji, a zamiast tego przedstawienia modalnego VC - patrz poniżej. –

+0

Na przyszłość, jeśli to nie działa, po prostu umieść ten kod w viewDidAppear: i zacznie działać. –

6

Peters odpowiedź jest poprawna, chociaż myślę, że lepszym pytaniem jest dlaczego? W schemacie takim jak twój, w którym chcesz zalogować się do użytkownika, zamiast korzystać z Pushed VC, zaprezentuj Modal VC i użyj metody delegatów, aby odzyskać informacje, które uzyskano w procesie logowania. Mogę opublikować pełny przykład kodu, jeśli jest to potrzebne, ale brzmi to tak, jakbyś miał dane szczegółowe opracowane wraz z procesem logowania. Wystarczy użyć:

presentModalViewController 

zamiast:

pushViewController 

W ten sposób, nie trzeba martwić się o stos nawigacyjnym i robi coś, co tak naprawdę nie jest w jednej linii z wytycznymi interfejsu użytkownika .

+0

Dobra uwaga. Doceniam twoją opinię! – jbearden

1

Spróbuj tego:

[self.navigationItem setHidesBackButton:YES]; 

Albo

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

W szybkiej

self.navigationItem.hidesBackButton = true 
0

sądzony w Xcode7.3.1 , szybki

self.navigationItem.setHidesBackButton(true, animated: true) 

Ukrywa tylko strzałkę wsteczną i wyłącza akcję cofania, ale nadal widzę nazwę poprzedniego kontrolera widoku.

Dla tych, którzy chcą również ukryć nazwę poprzedniego kontrolera widoku, spróbuj Yoga's answer dla mnie. W szybkim

self.navigationItem.leftBarButtonItem = UIBarButtonItem(customView: UIView()) 
Powiązane problemy