我想在SwiftUI中實現一個文本動畫,并創建一個可以歸結為以下內容的視圖:
public struct AnimatedTextView: View, Animatable {
public var number: CGFloat
public init(number: CGFloat) {
self.number = number
}
public var animatableData: CGFloat {
get { number }
set { number = newValue }
}
public var body: some View {
Text("\(Int(number))")
}
}
此動畫在主應用程序目標中運行良好,但當我將其移動到SPM軟件包時,動畫會中斷:
有沒有人遇到過這種情況并知道解決方法?
(復制該問題的完整項目:https://www.dropbox.com/s/e1yrzszxlgkk0p0/AnimationRepro.zip)
因此,問題似乎與包中的代碼無關,而是與iOS版本有關。
我已將你的應用程序的iOS部署目標刪除到iOS 14,應用程序模塊中的動畫似乎也已損壞。然后,我再次將其升級到iOS 15,并將包的
Package.swift
更新為至少有iOS 15,動畫在這兩個版本上都做得很好。(確保在更新最低版本后清理生成項目)因此,在iOS 15中,遞增/遞減動畫似乎是新事物。您可能需要為整個應用程序(包括軟件包)增加最低版本,或者在需要較低版本的情況下實現具有相同行為的自定義動畫。