首页 > 解决方案 > 如何在 SwiftUI 中限制拖动距离

问题描述

我有一个我希望能够拖动的视图,但每个方向只能拖动 25 个点。

这在 SwiftUI 中可行吗?

现在我有这样的事情:

.offset(x: viewState.width, y: viewState.height)
    .gesture(
        DragGesture()
           .onChanged { value in
               self.viewState = ((value.translation.width > -25 && 
                                  value.translation.width < 25) ||
                                  (value.translation.height > -25 &&
                                  value.translation.height < 25)) ?
                                  value.translation :
                                  CGSize.zero
               }
           .onEnded { _ in
              self.viewState = CGSize.zero
           }
    )

但是如果我拖得慢,我仍然可以把它拖得更远。
有什么办法可以拖动它一点点就可以了?

标签: iosswiftui

解决方案


推荐阅读