gpt4 book ai didi

iOS SwiftUI : prevent resizable() animation

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

我有一个带有图像的单元格。
图像是从互联网上下载的,我希望在下载图像时有一个淡入淡出的不透明度过渡。
这可以通过几个修饰符轻松实现:

.transition(.opacity)
.animation(.default)

但是因为我的图像也有 .resizable() 修饰符,所以我也得到了一个我真的不想要的缩放动画。

我怎样才能防止这种情况?
struct GridCellView: View {

@ObservedObject var model: CellViewModel

var body: some View {
GeometryReader { proxy in
Image(uiImage: self.model.image)
.resizable()
.transition(.opacity)
.animation(.default)
.scaledToFill()
.frame(width: proxy.size.width, height: proxy.size.width)
.aspectRatio(1/1, contentMode: .fit)
.clipped()
.animation(nil)
}
}

}

最佳答案

使用 .animation(nil)紧跟在您要禁用哪些动画的属性/ies 之后,如下所示

var body: some  View {
GeometryReader { proxy in
Image(uiImage: self.model.image)
.resizable()
.animation(nil) // << disables animation
.transition(.opacity)
.animation(.default) // << enables animation
.scaledToFill()
.frame(width: proxy.size.width, height: proxy.size.width)
.aspectRatio(1/1, contentMode: .fit)
.clipped()
}
}

关于iOS SwiftUI : prevent resizable() animation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60679042/

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