我们如何实现3Dtouch 来判断用户是点击UIView还是强制touch UIView

有没有办法用UIGestureRecognize或只用UITouch就能做到这一点?

推荐答案

你可以不用指定的手势识别器.无需调整touchesEnded和ToucheSbegind方法,只需调整touchesMoved即可获得正确的值.从开始/结束获得uitouch的力量将返回奇怪的值.

UITouch *touch = [touches anyObject];

CGFloat maximumPossibleForce = touch.maximumPossibleForce;
CGFloat force = touch.force;
CGFloat normalizedForce = force/maximumPossibleForce;

然后,设置一个力阈值,并将标准化的力与该阈值进行比较(对我来说,0.75似乎很好).

Swift相关问答推荐

@ MainActor + Combine不一致的编译器错误

为什么第二项任务不在第一项任务完成之前开始?(并发队列)

显示第二个操作紧接在另一个操作后的工作表在SwiftUI中不起作用

如何增加 NSStatusBar 图像大小?

在 struct 中的序列和非序列泛型函数之间进行 Select

MainActor 隔离可变存储属性为何会出现可发送错误?

如何从数据中读取以空结尾的字符串?

LeetCode 249. 分组移位字符串

如何在 SwiftUI 中将图像传递到 2 个视图

带有屏幕参数的 NSWindow 初始化程序在初始化时导致致命错误

使用 Swiftui 水平修剪 Shape()

不使用 ViewController 时如何显示推送通知的alert 对话框

Swift:连接两个数组而不重复共享后缀/前缀

Swift 自定义字体 Xcode

Swift 3:日期与 NSDate?

如何在 Swift 中遍历 struct 属性?

如何交换快速数组中的元素?

Void 函数中意外的非 Void 返回值 (Swift 2.0)

枚举大小写的原始值必须是文字

如何在 iOS 上的 Swift 中获取 sharedApplication?