我在这里已经阅读了很多有关SwiftUI中导航的信息,并尝试了几件事,但是没有任何工作可以按需进行。
基本上,我有一个包含锻炼列表的视图,您可以通过单击一行来显示一个锻炼。使用NavigationView和NavigationLink可以按预期工作。
现在,我要在详细信息视图上单击一个按钮以开始锻炼。这应该打开一个带有计时器的视图。该视图应显示与详细视图相同的动画,并在导航栏中使用后退按钮显示锻炼的名称。
我可以在详细信息页面上的NavigationLink视图中实现此功能,但是该链接始终显示为全宽行,并在右侧显示箭头。我希望这是一个按钮,但是NavigationLink似乎可以抵抗样式。
struct WorkoutDetail: View {
var workout: Workout
var body: some View {
VStack {
NavigationLink(destination: TimerView()) {
Text("Starten")
}.navigationBarTitle(Text(workout.title))
}
}
}
struct WorkoutList: View {
var workoutCollection: WorkoutCollection
var body: some View {
NavigationView {
List(workoutCollection.workouts) { workout in
NavigationLink(destination: WorkoutDetail(workout: workout)) {
WorkoutRow(workout: workout)
}
}.navigationBarTitle(Text("Workouts"))
}
}
}
Run Code Online (Sandbox Code Playgroud)
更新:这是一个截图,以说明我的意思: