我想实现Twitter的导航栏动画。当您向上滚动(表视图或集合视图)时,导航栏会随内容一起动起来,然后固定到“安全区域插图”。当内容向下滚动时,它会向下动画。
到目前为止,我有一个导航栏,它的动画使我的“表视图”向上滚动,但仅在整个列表到达顶部时才向下滚动。我该如何添加以下功能?
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))
}