Swiftui 如何在长按手势开始时启动动画?

Swiftui 如何在长按手势开始时启动动画?,swiftui,Swiftui,标题说明了一切:) 我在滚动视图中有一个dragGesture。我可以通过在拖动之前组合一个长按手势,这样当用户滚动时按钮不会意外激活。但是我想在longpress开始让用户知道如果你使用longpress,这个东西是活动的之后再添加一些visal线索 .frame(maxWidth: .infinity).background(Color .white) .onTapGesture {} .gesture( LongPressGesture(minimumDuration: self.

标题说明了一切:)

我在
滚动视图中有一个
dragGesture
。我可以通过在拖动之前组合一个
长按手势
,这样当用户滚动时按钮不会意外激活。但是我想在longpress开始让用户知道如果你使用longpress,这个东西是活动的之后再添加一些visal线索

.frame(maxWidth: .infinity).background(Color .white)
.onTapGesture {}
.gesture(
    LongPressGesture(minimumDuration: self.minimuDuration, maximumDistance: 0)
        .updating(self.$isLongPressed) { value, state, transcation in
                state = value
        }.sequenced(before:
        DragGesture(minimumDistance: 0, coordinateSpace: .global)
            .onEnded({ (value) in })
            .onChanged { value in }
    )

)
这是我的代码,非常标准。我找不到longpress的开始事件

.frame(maxWidth: .infinity).background(Color .white)
.onTapGesture {}
.gesture(
    LongPressGesture(minimumDuration: self.minimuDuration, maximumDistance: 0)
        .updating(self.$isLongPressed) { value, state, transcation in
                state = value
        }.sequenced(before:
        DragGesture(minimumDistance: 0, coordinateSpace: .global)
            .onEnded({ (value) in })
            .onChanged { value in }
    )

)

只要按下手势检测到您
self.$isLongPressed
就会被触发,因此这是视觉反馈动画的标志。例如:

.frame(maxWidth: .infinity).background(Color.white.opacity(self.isLongPressed ? 0.5 : 1.0)
.animation(.default)
.onTapGesture {}
.gesture(
    LongPressGesture(minimumDuration: self.minimuDuration, maximumDistance: 0)
        .updating(self.$isLongPressed) { value, state, transcation in
    ...

兄弟!有什么问题我问你不会回答吗?哈哈:)谢谢。谢谢。这对我没有帮助,但这是正确的答案,所以我把它标记为ok。我的longpress在scrollview下的事实有点搞乱了动画。