2.3 手势
“手势”两个字的用途很广泛,在不同的上下文环境中,它的含义会有很大区别。当我们谈到硬件设备通过复杂的机械原理,将人的肢体动作编译为输入信号并传入系统的过程时,这个词基本就是它字面上的意思。对于苹果来说,“手势”二字在更多时候所指代的是一些特殊的触控操作方法,这些方法已经超越了直接操纵理论所定义的基本输入方式的范畴。通常,这些“手势”需要多个触摸行为同时发生(多点触摸),以引发特定的系统响应。不过,iOS中的一些基本手势仍然属于直接操纵理论所定义的范围。其实,在抽象的层面,很多手势是大同小异的,它们只是根据上下文情景的不同而存在着微小的差别。
下面是iOS中最常见的一些手势:
- 轻按(Tap):用来执行“选择”的最基本的方式
- 拖移(Drag):一个持续的触控事件;目标对象会跟随手指进行移动,直到指尖离开屏幕表面。
- 快速滑动(Flick):与“拖移”类似,不过行为的速度更快。最关键的一点,它是目标对象自身固有的一种行为方式。当用户结束触控行为,指尖离开屏幕表面之后,“可滑动”的目标对象仍然会沿着动作方向继续模拟惯性效应而前进。
- 轻扫(Swipe):用手指沿着直线刷过一定的区域。该动作本身通常不包含任何操作功能,它主要被用来触发一些隐藏的控制元素,例如使列表条目中的“删除”按钮显示出来。
- 连续两次轻按(Double Tap):将图片或内容放大至原始尺寸并居中,再次操作则恢复到预设尺寸。
- 双指张开(Open Pinch):将图片或内容等比放大;用户可以对双指张开的距离进行控制,以决定放大的程度。
- 双指捏合(Close Pinch):将图片或内容等比缩小;用户可以对双指捏合的距离进行控制,以决定缩小的程度。
- 长按(Long Touch):通常用来触发某种次要的控制功能,例如在可编辑文本中显示放大视图,或是使应用图标进入可被拖移和删除的状态等。
图 2-5 各类触控手势(来自http://gesturecons.com/ )
除此之外,越来越多的新手势也开始出现在iOS当中。看看它们能否被用户和其他应用开发者迅速地接纳,是一件挺有意思的事情。这些新手势大多是对以上几种基本手势的扩展,而且更适合用作系统级别的全局导航与控制,因为这些手势并不是针对某个应用中的特定交互组件所设计的。它们大都需要多指配合操作(超过两指),这也是将它们与那些专门用于控制应用界面交互对象的标准手势加以区分的重要标志。