我在SwiftUI View中有一个列表,它位于UIHostingController中,我想根据列表的滚动方向隐藏或显示UINavigationBar。这个UINavigationBar在UIHostingController中是在UIkit中的。我尝试添加DragGesture,但它不会持续更新滚动方向。
override func scrollViewDidScroll(_ scrollView: UIScrollView) {
if scrollView.panGestureRecognizer.translation(in: scrollView).y < 0 {
navigationController?.setNavigationBarHidden(true, animated: true)
} else {
navigationController?.setNavigationBarHidden(false, animated: true)
}
}
基本上,我需要在SwiftUI中替换上面的代码。
请不要建议使用LazyList或任何与iOS 14相关的解决方案,因为我的最低iOS版本是iOS 13。