C3.09.1Spread and pinch as one bidirectional gesture设计研究

张开与捏合是同一手势的两个方向

别名: 双指张开 · unpinch · 反向捏合

概念解释

两指张开(spread / unpinch)把画面拉近,两指靠拢把画面推远。它们不是两套手势词汇,而是同一条间距通道上的正负方向。识别器、锚点、滤波、抬起后的倍数保留,都应对称。把放大做成另一种双指套路(例如必须先双击再拖),等于拆掉这条双向轴。

机制

span 的变化率带符号:增大则倍数上升,减小则下降。肌肉记忆也是双向的——看不够近就再张开一点,看太近了就合拢,不必换手势。若放大走一套阈值、缩小走另一套,或放大需要额外武装,人在连续调节时会在中途卡住。对称还包括失败态:张到头和捏到头都应该弹性触边,而不是一边回弹一边死锁。方向在接触中途可以翻转:一次按住里先张开再合拢,应是同一条 scale 曲线上的来回,而不是被切成两次独立手势。

怎么研究

让人把图先放大到细节再缩回整体,只许用双指,不许抬手换工具。记录中途改方向的次数、改方向时倍数是否跳变、是否有一次方向被系统忽略。把“张开”和“捏合”注册成两个独立 recognizer 作为对照,通常会在方向翻转处丢事件。眼动可以看人是否在改方向前去找按钮,那说明他们不相信这是同一条轴。

边界

某些无障碍开关把“放大”做成单指双击拖动,缩小要反向拖,那是另一条单指轴,不应再同时注册一套不对称的双指。游戏里的双指只张开释放技能、合拢无效果,那是技能设计不是视图缩放。两指旋转若优先占用了双指接触,张开可能被吃成转角,双向缩放轴在旋转优先的画布上要让路或解耦。

怎么落地

  • 用同一个 span 驱动倍数的升降;一次接触里允许方向来回,不要在翻转时重启手势。
  • 放大和缩小共用同一套触边回弹和松手保留,不要一边粘滞一边瞬移。
  • 请人在一次双指按住中把图拉近再推远。倍数应连续过峰,不应在改方向时跳回 100% 或卡住。若他们抬手换了“放大工具”,双向轴没有被感知到。

延伸

  • 同组C3.09.2 最大放大倍数与内容分辨率的关系 · C3.09.3 放大后的可视区域需保持用户关注的内容
  • 相邻C3.08 双指捏合缩小 · C3.10 双指旋转
  • 站内检索spread to zoom · unpinch · bidirectional pinch

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/C3.09.1