swiftui - 如何在 SwiftUI 中的 WatchOS 导航栏下显示具有 primaryAction 位置的 ToolbarItem
问题描述
我试图弄清楚如何在用 SwiftUI 编写的 watchOS 应用程序的导航栏下隐藏 primaryAction ToolbarItem。苹果的文档状态
在 watchOS 中,系统将主要操作置于导航栏下方;用户通过滚动显示动作。
ToolbaritemPlacement - primaryAction
这是我正在使用的视图:
var body: some View {
NavigationView {
ScrollView {
VStack(alignment: .leading) {
ForEach(0..<100) {
Text("Row \($0)")
}
}
.toolbar {
ToolbarItem(placement: .primaryAction) {
Button("Settings") {}
}
}
}
}
.navigationTitle("Navigation")
}
主要操作按钮始终显示并且从不隐藏。我看过一个例子,其中一个人使用 ScrollViewReader 以编程方式更改位置,但我觉得这不是 Apple 所说的可能,我试图了解我做错了什么。Apple 的文档还指出工具栏需要在滚动视图内:
仅在滚动视图中放置工具栏按钮。人们经常滚动到滚动视图的顶部,因此发现工具栏按钮几乎是自动的。将工具栏按钮放置在非滚动视图中使其永久可见,从而消除了在不需要时隐藏它的优势。