У меня есть ViewController, который запускается с полупрозрачной навигационной панели с чистым фоном
navigationBar.isTranslucent = true
navigationBar.barTintColor = .clear
У меня scrollView
в качестве первого дочернего элемента, а для * scrollView contentInsetAdjustmentBehavior
установлено значение .never
.Теперь, когда я прокручиваю вид и scrollView.contentOffset.y > 200
, я решил сменить панель навигации на
navigationBar.isTranslucent = false
navigationBar.barTintColor = .someColor
, и представление прокрутки будет сдвинуто вниз.Я понимаю, что когда вид должен быть ниже панели навигации, когда он не является полупрозрачным.Но это заставляет мой эффект прокрутки выглядеть ужасно.Я провел небольшое исследование и обнаружил, что могу включить опцию Under the top bar
из раскадровки, но, к сожалению, я создаю свою работу с использованием swift, а не раскадровки.Я также пытался использовать edgesForExtendedLayout = [.top]
, но у меня не получилось.
Мне хотелось, чтобы при прокрутке было плавное прокручивание, а панель навигации изменяла свойство полупрозрачного относительно прокрутки contentOffset.