Animation 迅捷-奇怪的动画
我有一个按钮的图像。预期的结果是,当我点击按钮/图像时,它下面会出现一个项目列表。但是,由于某些原因,图像本身会在单击时收缩。如何防止图像缩小,使项目仅填充在图像下方Animation 迅捷-奇怪的动画,animation,swiftui,Animation,Swiftui,我有一个按钮的图像。预期的结果是,当我点击按钮/图像时,它下面会出现一个项目列表。但是,由于某些原因,图像本身会在单击时收缩。如何防止图像缩小,使项目仅填充在图像下方 struct HabitGroups: View { var imageName: String var textOverlay: String var listOfHabits: [String] @Binding var selectedHabitList: [String] @Bind
struct HabitGroups: View {
var imageName: String
var textOverlay: String
var listOfHabits: [String]
@Binding var selectedHabitList: [String]
@Binding var enoughHabits: Bool
@State var showHabits = false
var body: some View {
VStack {
Button(action: {
withAnimation {
self.showHabits.toggle()
}
}) {
Image(self.imageName)
.resizable()
.scaledToFit()
.frame(minWidth: 300, minHeight: 100)
.overlay(ImageOverlay(textOverlay: self.textOverlay), alignment: .bottom)
}
.buttonStyle(PlainButtonStyle())
if self.showHabits {
ForEach(self.listOfHabits, id: \.self) { habit in
AddHabitButtons(habit: habit, selectedHabitList: self.$selectedHabitList, enoughHabits: self.$enoughHabits)
}
}
}
}
}
您必须在图像下方添加许多项目,以便在不调整屏幕上所有内容大小的情况下(当您将所有内容都放在VStack中时)进行调整,因此图像会按原样缩小。resizalbe 可能的解决方案是将习惯嵌入到滚动视图中,如下所示
if self.showHabits {
ScrollView { // << here !!
ForEach(self.listOfHabits, id: \.self) { habit in
AddHabitButtons(habit: habit, selectedHabitList: self.$selectedHabitList, enoughHabits: self.$enoughHabits)
}
}
}
if self.showHabits{
ScrollView{//您必须在图像下方添加许多项目,以便在不调整屏幕上所有内容大小的情况下(当您将所有内容都放在VStack中时)进行调整,因此图像会按原样缩小。resizalbe
可能的解决方案是将习惯嵌入到滚动视图中,如下所示
if self.showHabits {
ScrollView { // << here !!
ForEach(self.listOfHabits, id: \.self) { habit in
AddHabitButtons(habit: habit, selectedHabitList: self.$selectedHabitList, enoughHabits: self.$enoughHabits)
}
}
}
if self.showHabits{
ScrollView{//我试了第二个。成功了。非常感谢!我试了第二个。成功了。非常感谢!