gpt4 book ai didi

ios - Apple SwiftUI 教程是否有错误?还是 Xcode 的错误?

转载 作者:行者123 更新时间:2023-12-01 15:35:45 26 4
gpt4 key购买 nike

在 Apple SwiftUI 教程中的动画 View 和过渡下,教程末尾(页面底部)预览中显示的内容与我下载项目文件并在 Xcode 上运行时发生的情况不同。

教程:https://developer.apple.com/tutorials/swiftui/animating-views-and-transitions

项目文件(您也可以从教程页面下载):https://docs-assets.developer.apple.com/published/4790d3c55e/AnimatingViewsAndTransitions.zip

问题:
在本教程结束时,在 HikeView 中,当您按“心率”、“配速”或“海拔”时,图表应更改为相应的图表(即它们在预览中显示的内容)。但是,当我在 Xcode 上运行它时,图形只是上下移动而没有任何其他更改。

当我尝试自己解决问题时,我注意到删除 .transition(.slide)来自 HikeGraph.swift似乎解决了这个问题。但是为什么这种过渡会导致这个问题,有没有办法在不牺牲幻灯片过渡的情况下使图表按预期工作?

我正在寻找图形的修复程序,如果可能的话,寻找转换导致图形工作不正确的原因。

最佳答案

这可以在不删除 .transition(.side) 的情况下解决
用 :

ForEach(data.indices, id: \.self) { index in
GraphCapsule(
index: index,
height: proxy.size.height,
range: data[index][keyPath: self.path],
overallRange: overallRange)
.colorMultiply(self.color)
.transition(.slide)
.animation(.ripple(index: index))
}
代替:
ForEach(data.indices) { index in
GraphCapsule(
index: index,
height: proxy.size.height,
range: data[index][keyPath: self.path],
overallRange: overallRange)
.colorMultiply(self.color)
.transition(.slide)
.animation(.ripple(index: index))
}
ForEach 需要一个标识符来正确识别创建的 View ,因此如果没有标识符,动画就不能完美地工作。

关于ios - Apple SwiftUI 教程是否有错误?还是 Xcode 的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61830762/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com