SwiftUI 放大手势()延迟
Posted
技术标签:
【中文标题】SwiftUI 放大手势()延迟【英文标题】:SwiftUI MagnificationGesture() delay 【发布时间】:2021-10-19 16:06:37 【问题描述】:我有一个带有视图的标准应用程序,您可以通过捏合手势进行缩放。 这是工作,但一开始我有一点延迟,它看起来像跳跃的缩放。有人知道使它工作更顺畅的解决方案吗? 这里的代码示例:
VStack
Image("image")
.resizable()
.scaledToFill()
.frame(width: UIScreen.main.bounds.width, height: 200)
.scaleEffect(scale)
.gesture(MagnificationGesture()
.updating($scale, body: (value, scale, trans) in
scale = value.magnitude
)
)
【问题讨论】:
【参考方案1】:为了解决“跳跃缩放”你只需要添加一个动画。
例如可能是这样的:
Image("image")
.resizable()
.scaledToFill()
.frame(width: UIScreen.main.bounds.width, height: 200)
.scaleEffect(scale)
.gesture(MagnificationGesture()
.updating($scale, body: (value, scale, trans) in
scale = value.magnitude
)
)
.animation(Animation.easeInOut(duration: 2.0), value: scale)// Animation to solve the "jumpy zoom"
【讨论】:
由于特殊性,可行的解决方案是创建 UIKit 手势识别器,但感谢您的回答!以上是关于SwiftUI 放大手势()延迟的主要内容,如果未能解决你的问题,请参考以下文章