Как сделать прозрачным navigation bar и status bar так, чтобы можно было под них вставить изображение?
Вот пример:
Сделать прозрачным navigation bar и status bar
Для navigation bar:
self.navigationController.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
self.navigationController.navigationBar.shadowImage = UIImage()
self.navigationController.navigationBar.translucent = true
self.navigationController.view.backgroundColor = UIColor.clearColor()
Для статус бара:
UITabBar.appearance().barTintColor = UIColor.clearColor()
UITabBar.appearance().backgroundImage = UIImage()
Да, но остается пустое место на месте navigation bar, при прокручивании видно, что оно прозрачно. Я уже выставил констрейнту top - 65, но ничего не меняется
Не совсем понимаю, что у Вас не работает.
navigation bar просто стал прозрачным, если он Вам просто не нужен, не используйте его.
Если Вам нужно чтобы изображение было видно за статус баром, то просто поставьте UIImageView и растяните по величине экрана, ну и соответственно просто разместите в нем изображение.
Так и делаю. Вот что получается:
Возможно, это из-за того что у меня SplitView. На iPhone вообще не делается прозрачным.
UIImageVIew растянут до самого верха.
Проверил в другом проекте, где обычный переход - работает.
Со SplitViewController остается пустое пространство
А как Вы определяете, что оно пустое?
Я думаю, что у Вас просто ничего не видно на белом фоне.
- растяните Вашу карту до самого верха.
С iPad справился, там теперь все ок. Но на iPhone проблема остается.
Вот тут мой проект: https://yadi.sk/d/3abttHOKnDi5M2
Когда перехожу в детальный вид ячейки таблицы navigation bar не становится прозрачным, а наследует параметры из родительского окна
Когда я Вам отправлял решение я пробовал на iPhone, фона не было. Попробуйте сделать с нуля и прописать только для iPhone и только для navigation bar.
Сделать прозрачным MasterViewController И DetailsViewController - не проблема. С помощью вышеуказанного кода это получается легко. Но вот сделать прозрачным бар только в Details - не получается. Я уже пытался и сабкласс писать, вызывая только в Details, и убирать бар совсем - тоже нулевой эффект. Проблема никак не решается и то что ответа нет даже на stack тому подтверждение.
Значит мало кто сталкивался. Я постараюсь, как немного освобожусь, покопаться в коде.
Вы можете еще раз точно сказать, что именно у Вас не получается, чтобы не блуждать в предположениях
Да, в детальном виде в SplitView на iPhone navBar не становится прозрачным.
Вот ссылка на проект: https://yadi.sk/d/3abttHOKnDi5M
Для тех, кто не нашел. Вот решение -
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.isTranslucent = true