【问题标题】:On Tap and On Long Press not working properly点击和长按无法正常工作
【发布时间】:2020-02-09 12:47:50
【问题描述】:

我正在尝试制作一个按钮,它可以根据您是否点击或长按来执行两种不同的操作。以下代码似乎应该可以工作,但只有长按事件有效。如果我只是点击它,我会看到按钮被按下的动画,但在我长按它​​之前它不会做任何事情。

                Button(action: {}) {
                    Image("no_image_taken")
                        .resizable()
                        .aspectRatio(contentMode: .fit)
                        .cornerRadius(10)
                        .gesture(TapGesture()
                            .onEnded({_ in self.showImagePicker = false}))
                        .gesture(LongPressGesture(minimumDuration: 1)
                            .onEnded({_ in self.showImagePicker = true}))
                }.sheet(isPresented: self.$showImagePicker) {
                    PhotoCaptureView(useExistingPhoto: self.$useExistingPhoto, showImagePicker: self.$showImagePicker, image: self.$optionalImage)
                }

我的代码基于here 给出的答案,但我的代码仍然无法正常工作。

【问题讨论】:

  • 你试过没有Button吗?只需使用图像而不是按钮
  • @Mac3n 我没有,但这确实有效。如果您想让它成为答案,我很乐意为您提供荣誉。

标签: swiftui


【解决方案1】:

您可以将手势操作放在 Image 上,而无需为此目的在 Button 上。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-06
    • 2013-03-23
    • 2018-07-20
    • 2017-04-07
    相关资源
    最近更新 更多