Я хотел бы реализовать анимацию панели навигации Twitter. При прокрутке вверх (просмотр таблиц или сборник) панель навигации анимируется с содержимым, а затем прикрепляется к вставкам безопасной области. Затем он анимируется вниз, когда содержимое прокручивается вниз.
Пока у меня есть панель навигации, которая анимируется вверх при прокрутке моего табличного представления вверх, но прокручивается только вниз, когда весь список достигает вершины. Как мне go добавить новые функции?
- Закрепить нижнюю часть панели навигации на вкладках безопасной области
- Анимировать панель навигации Назад, когда пользователь прокручивает страницу вниз
Рабочий код
func scrollViewDidScroll(_ scrollView: UIScrollView) {
// Safe Area Insets
let topAreaInset: CGFloat = UIApplication.shared.windows.filter{$0.isKeyWindow}.first?.safeAreaInsets.top ?? 0
// Nav Bar Height
let navigationBarHeight: CGFloat = navigationController?.navigationBar.frame.height ?? 0
// Total Offset
let yOffset: CGFloat = scrollView.contentOffset.y + navigationBarHeight + topAreaInset
// Move NavigationBar
navigationController?.navigationBar.transform = .init(translationX: 0, y: min(0, -yOffset))
}
Пример кода