У вас должно быть много элементов под изображением, чтобы они поместились без изменения размера всего на экране (поскольку вы поместили все в VStack), поэтому изображение сжимается, как есть .resizalbe.
Возможным решением было бы встроить привычки в просмотр прокрутки, как показано ниже
if self.showHabits {
ScrollView { // << here !!
ForEach(self.listOfHabits, id: \.self) { habit in
AddHabitButtons(habit: habit, selectedHabitList: self.$selectedHabitList, enoughHabits: self.$enoughHabits)
}
}
}
. Другой вариант - сделать изображение фиксированным по высоте, но в этом случае показанные привычки будут sh отображаться за пределами экрана. Однако предполагаемое поведение неясно, в любом случае здесь
.buttonStyle(PlainButtonStyle())
.fixedSize(horizontal: false, vertical: true) // << here !!