【问题标题】:Detect palm touching/releasing the iphone screen检测手掌触摸/释放 iphone 屏幕
【发布时间】:2022-08-08 17:02:55
【问题描述】:

实现一种“遇险呼叫”按钮,其工作方式如下:

  1. 用户启动应用程序并用手掌覆盖屏幕
  2. 一段时间过去了,用户可能会在这段时间内引入额外的触摸或移除一些现有的(但不是全部),触摸的位置/形状可能会改变
  3. 当用户松开手(即移除最后一次触摸)时,应用程序会发出求救信号

    基本上,应用程序应该注册两个事件:(1)触摸屏幕(2)释放所有触摸

    我正在尝试使用 touchesBegan/touchesEnded 方法,这些方法适用于小区域触摸(指尖),但在全掌或什至只有手掌边缘的触摸屏上,当手仍在屏幕上时,会立即触发 touchesCancelled。显然,之后在手动释放时不会发出其他事件。

    我尝试将 UIWindow 和 UIApplication 子类化并在其中覆盖 sendEvent ,但没有得到额外的信息 - 大面积触摸正在触发触摸开始并立即触摸取消,然后松开手不会发出任何信号。在某些情况下,大面积触摸根本不会触发任何事件,甚至 touchesBegan 也不会触发。基本上,iOS 不允许我使用非常基本的场景 - 仅检测屏幕触摸/释放的事实。

    有什么方法可以直接查询屏幕触摸状态而不是使用响应链?或者抑制取消事件触发?或者也许我错过了什么?

    标签: ios swift touchesbegan touchesended touchescancelled


    【解决方案1】:

    不幸的是,截至目前,尚无解决方案

    【讨论】:

      猜你喜欢
      • 2015-08-03
      • 1970-01-01
      • 2016-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多