2016-03-16 3 views
9

У меня есть панель навигации, и у меня есть горизонтальная линия, которую я хотел бы удалить.Как удалить панель навигации/тени?

Screenshot

Я удалил нав бар цвет с экрана, чтобы сделать линию более очевидной.

Я попытался установить свойство теневого изображения панели навигации на пустой png (1x1 пиксель png для 1x, 2x и 3x), но эффекта нет.

ответ

44

Эти две строки кода всегда делать трюк для меня:

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

Yup, что сделал это. – TimSim

+0

Для swift3:.. UINavigationBar.appearance() ShadowImage = UIImage() UINavigationBar.appearance() setBackgroundImage (UIImage (названный: "img_name"), для: .default) – Lanston

+1

У меня есть barTint и tintColor набор для Панель навигации. После выполнения того, что вы предложили, barTint не соблюдается, и он возвращается к белому. Есть предложения? –

14

Если вы хотите сделать это глобально вы можете сделать:

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

Работает, за исключением случаев, когда он переходит в другой контроллер представления, моя панель навигации не имеет цвета. –

+1

Где бы вы это установили --- я угадываю в AppDel? Образец кода? –

+2

Обновление для Swift 4: UINavigationBar.appearance(). ShadowImage = UIImage() UINavigationBar.appearance(). SetBackgroundImage (UIImage(), для: .default) –

Смежные вопросы