点击和长按无法正常工作

Posted

技术标签:

【中文标题】点击和长按无法正常工作【英文标题】: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 我没有,但这确实有效。如果您想让它成为答案,我很乐意为您提供荣誉。 【参考方案1】:

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

【讨论】:

以上是关于点击和长按无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI 中具有双重动作(点击和长按)的按钮

Android Button四种点击事件和长按事件

结合向下滑动和长按

android Fragment下的listview 怎么样可以设置单击事件和长按事件

RecyclerView的单击和长按事件(转)

ViewPager 和长按