【问题标题】:Has Apple deprecated iPhone 3D touch in Swift?Apple 是否在 Swift 中弃用了 iPhone 3D touch?
【发布时间】:2020-01-20 10:32:16
【问题描述】:

我在 2 年前使用 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 仍然具有此功能。有谁知道这个值是否被弃用?

【问题讨论】:

    标签: ios iphone 3dtouch force-touch


    【解决方案1】:

    每次触摸都以完全没有力量的接触开始,只要 用户的手指与屏幕接触(甚至接近接触)。 当用户的手指被压缩时,力才开始建立 对着屏幕。 UITouch force on touchesBegan is zero


    强制触摸

    该技术于 2014 年 9 月 9 日首次亮相,在 Apple Watch 的推出。从 Apple Watch 开始,Force 触控已被纳入 Apple 产品线中的许多产品中。 这尤其包括 MacBook 和 Magic Trackpad 2。 技术在 iPhone 机型上被称为 3D Touch。 source

    这些设备支持 Haptic Touch:

    • iPhone 11
    • iPhone 11 专业版
    • iPhone 11 Pro Max
    • iPhone XR

    这些设备支持 3D Touch:

    • iPhone 6s
    • iPhone 6s Plus
    • iPhone 7
    • iPhone 7 Plus
    • iPhone 8
    • iPhone 8 加
    • iPhone X
    • iPhone XS
    • iPhone XS Max

    数据源(2020 年 1 月)Change 3D or Haptic Touch sensitivity on your iPhone

    解决方案

    检查设备上是否存在 3D Touch

    if traitCollection.forceTouchCapability == .available {
    
    }
    

    iOS trait 环境通过 traitCollection 暴露出来 UITraitEnvironment 协议的属性。采用该协议 通过以下类:UIScreen、UIWindow、UIViewController、 UIPresentationController 和 UIView。 source

    【讨论】:

    • 好吧,我没调。 3D 和触觉触摸之间存在明显差异。我想使用新 iPhone 不再支持的 3D touch。抱歉,答案很简单,我对网上找到的答案感到困惑。
    • @Matt 我添加了额外的信息:只要用户的手指与屏幕接触(甚至接近接触),每次触摸都会以完全没有力的接触开始。仅当用户的手指压在屏幕上时,力才开始建立。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-13
    • 1970-01-01
    • 2016-11-12
    • 1970-01-01
    • 2021-05-14
    • 2019-09-16
    相关资源
    最近更新 更多