コード例 #1
0
        protected override void OnElementChanged(ElementChangedEventArgs <View> e)
        {
            base.OnElementChanged(e);

            if (e.OldElement != null)
            {
                RemoveGestureRecognizer(panGesture);
                panGesture.RemoveTarget(panGestureToken);
            }
            if (e.NewElement != null)
            {
                var dragView = Element as DraggableView;
                panGesture      = new UIPanGestureRecognizer();
                panGestureToken = panGesture.AddTarget(DetectPan);
                AddGestureRecognizer(panGesture);


                dragView.RestorePositionCommand = new Command(() =>
                {
                    if (!firstTime)
                    {
                        Center = originalPosition;
                    }
                });
            }
        }
コード例 #2
0
        protected override void OnElementChanged(ElementChangedEventArgs <View> e)
        {
            base.OnElementChanged(e);

            if (e.OldElement != null)
            {
                RemoveGestureRecognizer(panGesture);
                panGesture.RemoveTarget(panGestureToken);
            }
            if (e.NewElement != null)
            {
                displayMetrics = UIScreen.MainScreen.Bounds;
                sH             = displayMetrics.Height;
                sW             = displayMetrics.Width;

                var dragView = Element as RadialMenu;
                panGesture      = new UIPanGestureRecognizer();
                panGestureToken = panGesture.AddTarget(DetectPan);
                AddGestureRecognizer(panGesture);


                dragView.RestorePositionCommand = new Command(() =>
                {
                    if (!firstTime)
                    {
                        Center = originalPosition;
                    }
                });
            }
        }
コード例 #3
0
        protected override void OnElementChanged(ElementChangedEventArgs <View> e)
        {
            base.OnElementChanged(e);

            if (e.OldElement != null)
            {
                RemoveGestureRecognizer(panGesture);
                panGesture.RemoveTarget(panGestureToken);
            }
            if (e.NewElement != null)
            {
                var dragView = Element as DrawableAbsoluteLayout;
                panGesture      = new UIPanGestureRecognizer();
                panGestureToken = panGesture.AddTarget(DetectPan);
                AddGestureRecognizer(panGesture);

                tapGesture = new UITapGestureRecognizer();
                tapGesture.NumberOfTapsRequired = 2;
                tapGestureToken = tapGesture.AddTarget(DetectTapped);
                AddGestureRecognizer(tapGesture);

                dragView.RestorePositionCommand = new Command(() =>
                {
                    if (!firstTime)
                    {
                        Center = originalPosition;
                    }
                });
            }
        }
コード例 #4
0
        public void AttachAction(Action <NSObject> action)
        {
            if (GestureView.GestureRecognizers == null || GestureView.GestureRecognizers?.Length == 0)
            {
                var recognizer = new TGesture();
                GestureView.AddGestureRecognizer(recognizer);
            }

            if (GestureToken == null)
            {
                GestureToken = GestureView.GestureRecognizers [0]?.AddTarget(action);
            }
        }
コード例 #5
0
        public void DetachAction()
        {
            if (GestureToken != null)
            {
                if (GestureView.GestureRecognizers != null && GestureView.GestureRecognizers.Length > 0)
                {
                    foreach (var recognizer in GestureView.GestureRecognizers)
                    {
                        if (recognizer is TGesture)
                        {
                            recognizer.RemoveTarget(GestureToken);
                        }
                    }
                }

                GestureToken = null;
            }
        }
コード例 #6
0
 public BarLineChartGesture()
 {
     tapGestureRecognizer   = new UITapGestureRecognizer();
     pinchGestureRecognizer = new UIPinchGestureRecognizer()
     {
         ShouldRecognizeSimultaneously = GestureRecognize
     };
     doubleTapGestureRecognizer = new UITapGestureRecognizer
     {
         NumberOfTapsRequired = 2
     };
     panGestureRecognizer = new UIPanGestureRecognizer()
     {
         ShouldRecognizeSimultaneously = GestureRecognize,
     };
     tapToken       = tapGestureRecognizer.AddTarget(HandleTap);
     pinchToken     = pinchGestureRecognizer.AddTarget(HandlePinch);
     doubleTapToken = doubleTapGestureRecognizer.AddTarget(HandleDoubleTap);
     panToken       = panGestureRecognizer.AddTarget(HandlePan);
     pinchEvent     = new PinchEvent();
     panEvent       = new PanEvent();
 }
コード例 #7
0
 public PieRadarChartGesture()
 {
     tapGesture   = new UITapGestureRecognizer();
     touchGesture = new TouchGesture(this);
     tapToken     = tapGesture.AddTarget(HandleTap);
 }