Czy wiesz, jak ukryć przycisk „wstecz” w kontrolerze UINavigationController? Poza tym, jak to pokazać, ale myślę, że jest to bardzo podobne do ukrycia ...
Podobnie jak aplikacja pocztowa na iPhonie po naciśnięciu przycisku „Edytuj” podczas przeglądania wiadomości e-mail.
ios
iphone
uinavigationcontroller
Zoran Simic
źródło
źródło
setHidesBackButton:
PRZED wepchnięciem elementu navigationItem do navigationController.viewWillAppear:animated
ukrycie go iviewWillDisappear:animated
przywrócenie.Dodaj ten kod
źródło
Oprócz usunięcia przycisku Wstecz (przy użyciu metod już zalecanych), nie zapominaj, że użytkownik może nadal „przeskakiwać” do poprzedniego ekranu, wykonując gest przesunięcia od lewej do prawej w systemie iOS 7 i nowszych.
Aby to wyłączyć (w razie potrzeby), zaimplementuj następujące (na przykład w viewDidLoad):
źródło
Aby wyjaśnić istniejące odpowiedzi:
hidesBackButton
właściwość jest właściwą odpowiedzią, ale w wielu odpowiedziach nie jest jasne, do czego sięself
odnosi. Zasadniczo powinieneś ustawićself.navigationItem.hidesBackButton = YES
w kontrolerze widoku, który ma zostać wepchnięty (lub po prostu został wepchnięty) naUINavigationController
.Innymi słowy, powiedz, że mam
UINavigationController
imionamyNavController
. Chcę dodać do niego nowy widok, a kiedy to zrobię, nie chcę, aby przycisk Wstecz był już wyświetlany. Mógłbym zrobić coś takiego:Po zakończeniu działania kodu
newVC
powinien być teraz wyświetlany widok kontrolowany przez , a przycisk Wstecz nie powinien być widoczny.źródło
Aby warunkowo ukryć i wyświetlić przycisk Wstecz, możesz użyć następującego kodu:
Uwaga: w niektórych przypadkach musisz umieścić to w metodzie viewDidAppear zamiast viewWillAppear w takich przypadkach jak: kiedy aktualizujesz tablicę następnej klasy do poprzedniej klasy, a następnie sprawdzasz warunek w następnej klasie jak wyżej.
źródło
Swift iOS (użyłem następujących)
źródło
sethidesbackbutton z jakiegoś powodu nie działał
Użyłem w ten sposób ->
źródło
Zawsze używaj Dokumentacji Apple w przypadku prostych problemów, są one prostsze i lżejsze :)
Oto składnia dla Swift 3.0:
Odniesienie
https://developer.apple.com/reference/uikit/uinavigationitem#//apple_ref/occ/instm/UINavigationItem/setHidesBackButton:animated:
źródło
W moim przypadku miałem kilka problemów z aktualnymi odpowiedziami:
Więc rozwiązanie, które w końcu zadziałało, to:
źródło
Rozwiązanie zaproponowane przez Zorana Simica z jakiegoś powodu nie zadziałało.
Ten kod zadziałał jednak:
Oczywiście musiałbyś manipulować NSArray według własnego gustu, aby działał dla Ciebie. Mam nadzieję, że to komuś pomoże :)
źródło
W mojej podklasie UIViewController mam tę metodę:
źródło
Spowoduje to ukrycie przycisku Wstecz i zastąpienie go przyciskiem Dodaj w Swift:
źródło
Szybki 3.
Ogólnie rzecz biorąc, powinieneś używać interfejsu API per-ViewController firmy Apple, jak opisano wiele razy na tej stronie, ale czasami potrzebujesz natychmiastowej kontroli przycisku Wstecz.
Poniższy kod ukrywa przycisk Wstecz i zapewnia, że wykrywanie kolizji dotknięcia nie występuje w ukrytym obszarze przycisków.
źródło
To ukrywa przycisk Wstecz
źródło