Xamarin.ios 如何在Xamarin Monotouch中设置UIPAngestureRecognitor的方向
在Monotouch C#中,如何区分左、右、上和下滑动? 我每个人都需要一个活动 下面是我如何创建我的刷卡识别器,它可以工作,但不是定向的:Xamarin.ios 如何在Xamarin Monotouch中设置UIPAngestureRecognitor的方向,xamarin.ios,monodevelop,xamarin,uipangesturerecognizer,Xamarin.ios,Monodevelop,Xamarin,Uipangesturerecognizer,在Monotouch C#中,如何区分左、右、上和下滑动? 我每个人都需要一个活动 下面是我如何创建我的刷卡识别器,它可以工作,但不是定向的: 查看\滑动\手势=新建UIPangestureRecognitor(); view_swipe_手势.AddTarget(这是新的MonoTouch.ObjCRuntime.Selector(“view_swipe_手势选择器”); this.View.addgestureRecognitor(查看\滑动\手势); 这是我的解决方案。它设置bools-s
查看\滑动\手势=新建UIPangestureRecognitor();
view_swipe_手势.AddTarget(这是新的MonoTouch.ObjCRuntime.Selector(“view_swipe_手势选择器”);
this.View.addgestureRecognitor(查看\滑动\手势);
这是我的解决方案。它设置bools-swipe\u-down-swipe\u-up-swipe\u-right-swipe\u-left。享受
public void view_swipe_gesture_handler(UIGestureRecognizer sender)
{
var translation = view_swipe_gesture.TranslationInView( this.View );
int x = (int)translation.X;
int y = (int)translation.Y;
int absX = x;
int absY = y;
if (absX < 0)
absX *= -1;
if (absY < 0)
absY *= -1;
bool horizontal, veritical;
horizontal = ( absX > absY ) ;
veritical = !horizontal;
// Determine up, down, right, or left:
bool swipe_up, swipe_down, swipe_left, swipe_right;
swipe_left = (horizontal && x < 0);
swipe_right = (horizontal && x >= 0);
swipe_up = (veritical && y < 0);
swipe_down = (veritical && y >= 0);
++swipes;
String dir="";
if (swipe_down)
dir = "DOWN";
if (swipe_up)
dir = "UP";
if (swipe_left)
dir = "LEFT";
if (swipe_right)
dir = "RIGHT";
show_debug_status("VIEW SWIPE - swipes=" + swipes
+ " x=" + translation.X + " y=" + translation.Y
+ " DIR=" + dir );
}
public void view\u swip\u手势\u处理程序(UIgestureRecognitor发送方)
{
var translation=查看\滑动\手势.translationView(this.view);
intx=(int)translation.x;
int y=(int)translation.y;
int absX=x;
int-absY=y;
if(absX<0)
absX*=-1;
if(absY<0)
absY*=-1;
水平、真实;
水平=(absX>absY);
真实=!水平;
//确定向上、向下、向右或向左:
bool向上滑动,向下滑动,向左滑动,向右滑动;
向左滑动=(水平和x<0);
向右滑动=(水平和x>=0);
向上滑动=(真实和y<0);
向下滑动=(真实和y>=0);
++刷卡;
字符串dir=“”;
如果(向下滑动)
dir=“向下”;
如果(向上滑动)
dir=“UP”;
如果(向左滑动)
dir=“左”;
如果(向右滑动)
dir=“右”;
显示调试状态(“查看滑动-滑动=“+滑动
+“x=“+translation.x+”y=“+translation.y
+“DIR=”+DIR);
}