Apple's documentation states
Toolbar Placement - primaryActionIn watchOS the system places the primary action beneath the navigation bar; the user reveals the action by scrolling.
Here is the view that I am using:
Code Block var body: some View { NavigationView { ScrollView { VStack(alignment: .leading) { ForEach(0..<100) { Text("Row \($0)") } } .toolbar { ToolbarItem(placement: .primaryAction) { Button("Settings") {} } } } } .navigationTitle("Navigation") }
The primary action button always displays and is never hidden. I have seen an example where one used a ScrollViewReader to programmatically change the position but I feel like that isn't what Apple has stated is possible and I'm trying to understand what I'm doing wrong. Apple's documentation also states that the toolbar needs to be inside the scrollview:
Toolbar Buttons watchOSPlace a toolbar button only in a scrolling view. People frequently scroll to the top of a scrolling view, so discovering a toolbar button is almost automatic. Placing a toolbar button in a nonscrolling view makes it permanently visible, eliminating the advantage of hiding it when it’s not needed.