кажется, что я нашел обходной путь ... Внешний список выглядит следующим образом:
List() {
Text("New workout").font(.title)
ForEach(self.workoutModel.exercises) {exercise in
ExerciseWorkoutView(exercise: exercise)
}
}
Я просто добавил следующий модификатор фрейма в ExerciseWorkoutView (который является VStack с представлением списка в нем:
.frame(height: self.minFrameHeight + self.setRowHeight * CGFloat(self.exercise.sets.count)).animation(.default)
minFrameHeight и setRowHeight являются константами, которые я установил.
self. упражнение - это наблюдаемый объект с массивом множеств как @ Опубликованная переменная экземпляра, поэтому высота кадра автоматически адаптируется ...
, если кто-нибудь знает лучшее решение, спасибо за публикацию. Я попробовалнесколько вариантов .fixedSize (...) , но это не сработало.