Я создаю приложение, просматриваю Интернет, и мне интересно, как они делают эту прозрачную панель навигации следующим образом:
Я добавил следующее, как в моем приложении:
UINavigationBar.appearance().translucent = true
но это просто выглядит следующим образом:
Как сделать панель навигации прозрачной, как первое изображение
ios
iphone
swift
uinavigationbar
Питер Пик
источник
источник
Ответы:
Вы можете применить изображение панели навигации, как показано ниже, для полупрозрачного.
Objective-C:
Swift 3:
Надеюсь, это поможет вам ..!
источник
Быстрое решение
Это лучший способ, который я нашел. Вы можете просто вставить его в свой метод appDelegate
didFinishLaunchingWithOptions
:Свифт 3/4
Swift 2.0
источник: Сделайте панель навигации прозрачной относительно изображения ниже в iOS 8.1
источник
Swift 5 применяется только к текущему контроллеру представления
источник
Swift 3: расширение для прозрачной панели навигации
источник
Swift 4.2 Решение: для прозрачного фона:
Для общего подхода:
Для конкретного объекта:
Надеюсь, это будет полезно.
источник
navBar
?navBar
здесь, ссылается на объект UINavigationBar.Мне удалось сделать это быстро:
где я создал следующий служебный метод в
UIColor
категории:источник
Что у меня сработало:
источник
Установите свойство background вашего navigationBar, например
(Возможно, вам придется немного изменить это, если у вас нет контроллера навигации, но это должно дать вам представление о том, что делать.)
Также убедитесь, что вид, представленный ниже, действительно выходит за пределы панели.
источник
Попробуйте это, у меня это работает, если вам также нужно поддерживать ios7, он основан на прозрачности UItoolBar:
источник
Для тех, кто ищет решение OBJC, для добавления в метод App Delegate didFinishLaunchingWithOptions:
источник
Если вы хотите иметь возможность делать это программно в swift 4, оставаясь в том же представлении,
Однако следует помнить одну важную вещь - нажать эту кнопку в раскадровке. У меня долгое время была проблема с прыгающим дисплеем. Убедитесь, что вы установили это:
Затем, когда вы изменяете прозрачность панели навигации, это не приведет к скачку представлений, поскольку представления расширяются до самого верха, независимо от видимости панели навигации.
источник
Добавьте это в свой груз
источник
Служебный метод, который вы вызываете, передавая navigationController и цвет, который вы хотите установить на панели навигации. Для прозрачных вы можете использовать
clearColor
вUIColor
классе.Для цели c -
Для Swift 3.0 -
источник
Я работал над этим и столкнулся с проблемой, используя ответы, предоставленные здесь разными пользователями. Проблема заключалась в белом квадрате позади прозрачного изображения NavigationBar на iOS 13+
Мое решение это одно
Надеюсь, это поможет любому, у кого такая же проблема
источник