本节书摘来自异步社区《iOS 6核心开发手册(第4版)》一书中的第2章,第2.12节构建触摸式转盘,作者 【美】Erica Sadun,更多章节内容可以访问云栖社区“异步社区”公众号查看
2.12 构建触摸式转盘
iOS 6核心开发手册(第4版)
下一个秘诀是创建一个触摸式转盘,就像老款的iPod上使用的触摸式转盘一样。触摸式转盘提供了无限的可滚动输入。用户可以顺时针或者逆时针旋转他们的手指,并且对象的值将相应地增加或减小。每转一圈,转盘(即转动360°)对应于值改变1.0。顺时针的改变为正,逆时针的改变则为负。每次触摸的值会累加起来,也可以对它进行复位(只需把控件的value属性重新设置为0.0即可)。这个属性不是UIControl实例的一个标准部分,即使许多控件都会使用该值。
这个秘诀通过从控件的中心读出矢量值,计算用户所做的更改。当手指移动时,将相应地更新当前值。例如,把触摸式转盘旋转3次,将把当前值增加或减去3,这依赖于移动的方向。
秘诀2-7中定义的这个基本的转盘可以跟踪触摸旋转,但是几乎不会做其他方面的事情。原始的iPod滚动转盘提供了5个单击点:转盘中心的圆圈和4个基点。这里把添加单击支持和关联的类似于按钮的事件支持(对于UIControlEventTouchUpInside)留作练习让读者来完成。