Tworzę aplikację i przeglądałem Internet i zastanawiam się, jak tworzą ten przejrzysty pasek nawigacji w ten sposób:
Dodałem następujące, jak w mojej appdelegate:
UINavigationBar.appearance().translucent = true
ale to tylko sprawia, że wygląda to następująco:
Jak mogę sprawić, by pasek nawigacji był przezroczysty, jak na pierwszym obrazie
ios
iphone
swift
uinavigationbar
Peter Pik
źródło
źródło
Odpowiedzi:
Możesz zastosować obraz paska nawigacji, jak poniżej, dla półprzezroczystego.
Cel C:
Swift 3:
Mam nadzieję, że to ci pomoże ...!
źródło
Szybkie rozwiązanie
To najlepszy sposób, jaki znalazłem. Możesz po prostu wkleić go do metody appDelegate
didFinishLaunchingWithOptions
:Swift 3/4
Swift 2.0
źródło: Ustaw przezroczystość paska nawigacji w odniesieniu do poniższego obrazu w iOS 8.1
źródło
Swift 5 stosowany tylko do bieżącego kontrolera widoku
źródło
Swift 3: rozszerzenie dla przezroczystego paska nawigacyjnego
źródło
Rozwiązanie Swift 4.2: przezroczyste tło:
Podejście ogólne:
W przypadku konkretnego obiektu:
Mam nadzieję, że to przydatne.
źródło
navBar
?navBar
tutaj, odnosi się do obiektu UINavigationBar.Udało mi się to szybko osiągnąć w ten sposób:
gdzie utworzyłem następującą metodę narzędziową w
UIColor
kategorii:źródło
Co mi się udało:
źródło
Ustaw właściwość background swojego navigationBar, np
(Być może będziesz musiał to nieco zmienić, jeśli nie masz kontrolera nawigacyjnego, ale to powinno dać ci pojęcie, co robić).
Upewnij się również, że poniższy widok faktycznie rozciąga się pod paskiem.
źródło
Spróbuj tego, działa dla mnie, jeśli potrzebujesz również obsługi ios7, jest oparty na przezroczystości UItoolBar:
źródło
Dla tych, którzy szukają rozwiązania OBJC, do dodania w metodzie App Delegate didFinishLaunchingWithOptions:
źródło
Jeśli chcesz móc robić to programowo w Swift 4, pozostając przy tym samym widoku,
Jedną ważną rzeczą do zapamiętania jest jednak kliknięcie tego przycisku w swojej serii ujęć. Przez długi czas miałem problem z wyświetlaniem skoków. Upewnij się, że ustawiłeś to:
Wówczas zmiana półprzezroczystości paska nawigacji nie spowoduje przeskakiwania widoków, ponieważ widoki rozciągają się na samą górę, niezależnie od widoczności paska nawigacji.
źródło
Dodaj to do swojego załadowania
źródło
Metoda narzędziowa, którą wywołujesz, przekazując navigationController i kolor, który chcesz ustawić na pasku nawigacji. Dla przezroczysty można korzystać
clearColor
zUIColor
klasy.Dla celu c -
Dla Swift 3.0 -
źródło
Pracowałem nad tym i napotkałem problem podczas korzystania z odpowiedzi udzielonych tutaj przez różnych użytkowników. Problem polegał na tym, że białe pole za przezroczystym obrazem paska nawigacji w systemie iOS 13+
Moje rozwiązanie jest takie
Mam nadzieję, że to pomoże każdemu z tym samym problemem
źródło