我有一个带有定制图表视图(不是iOS 16图表)的SwiftUI
-Form
.长按可切换到不同类型的图表.这些图表使用.transition(.slide)
修改器.在iOS 15中,这些都像媒体预期的那样发生了转变,但在iOS 16中却并非如此.
持久化状态属性(枚举):
@AppStorage("chartType") var chartType: ChartType = .chartA
body
号房产的第Form
部分:
Form {
// Other sections
Section {
switch chartType {
case .chartA:
ChartViewA()
.transition(.slide)
case .chartB:
ChartViewB()
.transition(.slide)
}
.onLongPressGesture {
if chartType == .chartA {
withAnimation {
summaryChartType = .chartB
}
} else {
withAnimation {
summaryChartType = .chartA
}
}
}
不幸的是,添加像.animation(.spring(), value: chartType)
这样的动画修改器不会有什么不同.
如果你能给我一些建议,告诉我为什么这在iOS15中能行得通,但在iOS16中不行,以及我能做些什么来恢复这里的动画,我将不胜感激.