Mat*_*att 0 iphone ios 3dtouch force-touch
两年前我使用 Swift 中的 3D 触摸功能制作了一款游戏,因为它很新,但我从未发布过这款游戏,因为我得到了一份新合同。现在我有时间发布它,但代码不再起作用。(3D 触摸自定义动作,而不是 peek & pop 动作)
当我打印触摸结果时,力值将始终返回 0.0,如下所示:
[<UITouch: 0x102613850> phase: Began tap count: 2 force: 0.000 window: <UIWindow: 0x10222bf70; frame = (0 0; 414 896); gestureRecognizers = <NSArray: 0x28011cde0>; layer = <UIWindowLayer: 0x280f41840>> view: <UIView: 0x102083080; frame = (0 82; 414 780); autoresize = RM+BM; gestureRecognizers = <NSArray: 0x2801a0c30>; layer = <CALayer: 0x280f2a540>> location in window: {299.33332824707031, 661.66665649414062} previous location in window: {299.33332824707031, 661.66665649414062} location in view: {299.33332824707031, 579.66665649414062} previous location in view: {299.33332824707031, 579.66665649414062}]
我知道由于成本原因,Apple 正在从设备中删除此功能,但我记得,iPhone 11 pro 仍然拥有它。有谁知道这个值是否已被弃用?
只要用户的手指与屏幕接触(或什至接近接触),每次触摸都从完全没有力的接触开始。当用户的手指压在屏幕上时,力才开始建立。touchesBegan 上的 UITouch 力为零
强制触摸
该技术于 2014 年 9 月 9 日在 Apple Watch 推出期间首次亮相。从 Apple Watch 开始,Force Touch 已被整合到 Apple 产品线中的许多产品中。这尤其包括 MacBook 和 Magic Trackpad 2。该技术在 iPhone 机型上称为 3D Touch。来源
这些设备支持 Haptic Touch:
这些设备支持 3D Touch:
数据源(2020 年 1 月)更改 iPhone 上的 3D 或 Haptic Touch 灵敏度
解决方案
检查设备上是否存在 3D Touch
if traitCollection.forceTouchCapability == .available {
}
Run Code Online (Sandbox Code Playgroud)
iOS trait 环境通过 UITraitEnvironment 协议的 traitCollection 属性公开。该协议被以下类采用:UIScreen、UIWindow、UIViewController、UIPresentationController 和 UIView。来源
| 归档时间: |
|
| 查看次数: |
486 次 |
| 最近记录: |