У меня особый вопрос, на который я не нахожу ответа. У меня есть встроенный ViewController в контроллер навигации с представлением контейнера. В этом представлении контейнера есть scrollView. Я хочу сделать следующее: когда я прокручиваю свой ContainerView вниз, я хочу, чтобы элемент кнопки панели в NavigationContoller из моего ViewController исчез. Когда я прокручиваю вверх, он должен появиться снова.
Я могу скрыть всю панель навигации с помощью следующего кода, который находится в файле ContainerViewController.swift:
func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
print("123")
if(velocity.y>0) {
UIView.animate(withDuration: 0.5, delay: 0, options: UIView.AnimationOptions(), animations: {
self.navigationController?.setNavigationBarHidden(true, animated: true)
print("Hide")
}, completion: nil)
} else {
UIView.animate(withDuration: 0.5, delay: 0, options: UIView.AnimationOptions(), animations: {
self.navigationController?.setNavigationBarHidden(false, animated: true)
print("Unhide")
}, completion: nil)
}
}
Есть ли аналогичный код, который только убирает элемент кнопки панели? Я не знаю, как получить доступ к элементу кнопки панели, потому что я не могу подключить его как выход к файлу ContainerViewController.swift, а только к файлу ViewController.swift.
Надеюсь, вы понимаете мой вопрос и можете на него ответить.