我有一个“消息气泡”,它从屏幕的一侧“弹”出来。我使用以下代码:
struct MessageView: View, Identifiable {
let id = UUID()
var side: MessageBubbleSide = .left
let innerView: AnyView
var hasBackground = true
var body: some View {
HStack {
innerView
.padding(.horizontal, .five)
.padding(.vertical, .four)
.messageBubble(
displayFrom: side,
hasBackground: hasBackground
)
Spacer()
}
.transition(.move(edge: side == .left ? .leading : .trailing))
.animation(.spring())
}
}
字符串
这是可行的,但在为iOS 15构建时,它显示为'animation' was deprecated in iOS 15.0: Use withAnimation or animation(_:value:) instead.
。我通常知道如何在其他情况下做到这一点,但当视图出现在屏幕上时想要一个Spring动画时,无法解决这个问题。有人知道如何做到这一点吗?
3条答案
按热度按时间pepwfjgg1#
你需要添加一个激活动画的值(也就是依赖项)。
字符串
pnwntuvh2#
我所做的就是使用新的API,它需要一个值,我只是在其中抛出了一个UUID:
字符串
bxgwgixi3#
如果希望动画在视图出现时开始,请使用onAppear:
字符串