2013-01-20 54 views
1

我一直在试图找出了好几天!如何获得平滑滚动触摸设备上的所有其他应用程序有..暂且我实现了这一点:AS3:光滑的触摸滑动滚动的iOS

Multitouch.inputMode = MultitouchInputMode.GESTURE; 

stage.addEventListener (TransformGestureEvent.GESTURE_SWIPE, fl_SwipeHandler); 

function fl_SwipeHandler(event:TransformGestureEvent):void 
{ 
    switch(event.offsetX) 
    { 
     // swiped right 
     case 1: 
     { 
      // Start your custom code 
      // This example code moves the selected object 20 pixels to the right. 

      // End your custom code 
      break; 
     } 
     // swiped left 
     case -1: 
     { 
      // Start your custom code 
      // This example code moves the selected object 20 pixels to the left. 

      // End your custom code 
      break; 
     } 
    } 

    switch(event.offsetY) 
    { 
     // swiped down 
     case 1: 
     { 
      // Start your custom code 
      // This example code moves the selected object 20 pixels down. 
      if (PActive == true) { 
       dgPlace.verticalScrollPosition = dgPlace.verticalScrollPosition - 60; 
      } 
      if (SActive == true) { 
       dgSubject.verticalScrollPosition = dgSubject.verticalScrollPosition - 60; 
      } 
      if (OActive == true) { 
       dgObject.verticalScrollPosition = dgObject.verticalScrollPosition - 60; 
      } 
      if (FActive == true) { 
       dgFeeling.verticalScrollPosition = dgFeeling.verticalScrollPosition - 60; 
      } 
      if (AActive == true) { 
       dgAction.verticalScrollPosition = dgAction.verticalScrollPosition - 60; 
      } 
      if (NActive == true) { 
       dg.verticalScrollPosition = dg.verticalScrollPosition - 60; 
      } 
      // End your custom code 
      break; 
     } 
     // swiped up 
     case -1: 
     { 
      // Start your custom code 
      // This example code moves the selected object 20 pixels up. 
      if (PActive == true) { 
       dgPlace.verticalScrollPosition = dgPlace.verticalScrollPosition + 60; 
      } 
      if (SActive == true) { 
       dgSubject.verticalScrollPosition = dgSubject.verticalScrollPosition + 60; 
      } 
      if (OActive == true) { 
       dgObject.verticalScrollPosition = dgObject.verticalScrollPosition + 60; 
      } 
      if (FActive == true) { 
       dgFeeling.verticalScrollPosition = dgFeeling.verticalScrollPosition + 60; 
      } 
      if (AActive == true) { 
       dgAction.verticalScrollPosition = dgAction.verticalScrollPosition + 60; 
      } 
      if (NActive == true) { 
       dg.verticalScrollPosition = dg.verticalScrollPosition + 60; 
      } 
      // End your custom code 
      break; 
     } 
    } 

这基本上只是说如果发生滑动,然后向上或向下滚动60个单位,这是2行的活动数据网格。请任何人有任何想法如何做到这一点,我将不胜感激的帮助。^_^

+0

我不知道我理解你的问题。首先,刷卡不滚动!为什么你想为数据网格实现自己的滚动实现?网格带有它自己的滚动容器。如果你想为你的网格使用某种类型的滑动(无论出于何种原因),我强烈推荐使用Gestouch库。 – AlBirdie

+0

刷卡滚动本身不上航的iOS应用程序在DataGrid中的建议工作..谢谢,我会试试看。 – 4t0m1c

回答

0

只是一个建议(虽然我还没试过此我自己),轻扫经验真的取决于影片剪辑(或内容)的大小。

所以,也许而是采用了固定的60号,你可以使用像dgSubject.height/3。 (3,这样你可以通过3次滑动结束)。

只是想扔东西引发更多的思考。

另外,我刚找到以下链接: http://www.greensock.com/throwprops/ http://www.swfgeek.net/2011/09/08/greensocks-throwpropsplugin-ipad-test/

看看他们解决您的问题