技术开发 频道

iphone开发起步的12个技巧

  9. 手势

  在iPhone上,手势是两个手指的行为:缩放(放大和缩小)和旋转。前面我们已经学习了touches和targetTouches事件包含了每个手指触摸设备的信息,使用这些事件也处理手势,如放大和平移,但还有更方便的gesture事件可用,你可以监听下面的事件:

  l gesturestart

  l gestureend

  l gesturechange

  在接下来的例子中我们将监听gesturechange事件,然后使用webkitTransform样式属性缩放和旋转一个div,像往常一样,事件监听器接收event对象参数,event对象包含以下属性:

  l event.scale – 不缩放时值为1,缩小时值小于1,放大时值大于1

  l event.rotate – 旋转的角度

  代码和前面的触摸—拖动代码非常类似:

  window.addEventListener('load', function() {

  var b
= document.getElementById('box'),

  bstyle
= b.style;

  b.addEventListener(
'gesturechange', function(event) {

  event.preventDefault();

  bstyle.webkitTransform
= 'scale(' + event.scale + ') ' +

  
'rotate('+ event.rotation + 'deg)';

  },
false);

  },
false);

 

  例12(链接:http://www.sitepoint.com/examples/iphone-development-12tips/gesture.html)显示了运行这段代码的效果,缩放和旋转一个div。如果你在iPhone模拟器中浏览,按住选项键,将会显示两个灰色的点,表示两个手指,当你拖动鼠标时,可以将圆点移进和移出。

图 8 缩放和旋转

0
相关文章