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下的事实有点搞乱了动画。