ios - 在 SwiftUI 中滑动列表时隐藏导航栏
问题描述
如何在 SwiftUI 中向上滑动时隐藏导航栏并在向下滑动时显示(例如在 facebook 上)?在 UKit 中有navigationBar.hideBarsOnSwipe
,但我似乎在 SwiftUI 中找不到这样的功能。我是否遗漏了什么,或者在 swiftUI 中滑动时确实没有隐藏?
提前致谢!!
解决方案
到目前为止,SwiftUI 中没有原生 API(1.0 和 2.0)。因此,这是基于此答案NavigationConfigurator
中提供的可能的工作解决方案
使用 Xcode 12 / iOS 14 测试
struct TestHideOnSwipe: View {
var body: some View {
NavigationView {
List(0..<100) { i in
Text("Item \(i)")
}
.background(NavigationConfigurator { navigationConfigurator in
navigationConfigurator.hidesBarsOnSwipe = true // << here !!
})
.navigationBarTitle(Text("Demo"), displayMode: .inline)
}
}
}
推荐阅读
- python - Pandas DF 中的 Groupby 与 pivot_table
- ruby-on-rails - 提交后从表单输入中获取值
- javascript - 请求用户电子邮件时返回 404 Not Found [ASP.NET Web API]
- dart - Flutter List + Pull to load more data 不等待数据加载完成导致列表/滚动变得不稳定
- c# - 从数据表插入 SQLite
- gemfire - Geode 事务生成 ID 和插入对象
- javascript - 有没有办法正确模拟单元测试的重新选择选择器?
- php - 如何解决这个错误 phpunit/phpunit-mock-objects 包被废弃,你应该避免使用它。没有建议更换
- java - 资源类和空参数
- mongodb - 为什么我的 mongodb 查询返回 0 个结果?