2016-03-16 18 views
9

Mam więc pasek nawigacji i poziomą linię, którą chciałbym usunąć.Jak usunąć pasek/cieniowanie paska nawigacyjnego?

Screenshot

I usunęło kolor paska nawigacyjnego z ekranu, aby linia bardziej widoczne.

Próbowałem ustawić właściwość obrazu cienia paska nawigacji na puste png (1x1 piksele pngs na 1x, 2x i 3x), ale nie ma żadnego efektu.

Odpowiedz

44

Te dwa wiersze kodu zawsze rade dla mnie:

navigationController?.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default) 
    navigationController?.navigationBar.shadowImage = UIImage() 
+0

Tak, że to zrobił. – TimSim

+0

Dla swift3:.. UINavigationBar.appearance() ShadowImage = UIImage() UINavigationBar.appearance() setBackgroundImage (UIImage (o nazwie: "img_name"), na: .DEFAULT) – Lanston

+1

mam barTint i tintColor ustawiony na navigationBar. Po wykonaniu tego, co sugerujesz, barTint nie jest szanowany i wraca do bieli. Jakieś sugestie? –

14

Jeśli chcesz zrobić to globalnie można zrobić:

UINavigationBar.appearance().shadowImage = UIImage() 
UINavigationBar.appearance().setBackgroundImage(UIImage(), for: .default) 
+0

Działa z wyjątkiem przypadków, gdy przechodzi do innego kontrolera widoku, mój pasek nawigacji nie ma koloru. –

+1

Gdzie by ustawić to --- Zgaduję w AppDel? Przykładowy kod? –

+2

Aktualizacja dla Swift 4: UINavigationBar.appearance(). ShadowImage = UIImage() UINavigationBar.appearance(). SetBackgroundImage (UIImage(), dla: .default) –

Powiązane problemy