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; } }); } }
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; } }); } }
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; } }); } }
protected override void Dispose(bool disposing) { if (tapToken != null) { tapGestureRecognizer.RemoveTarget(tapToken); } if (pinchToken != null) { pinchGestureRecognizer.RemoveTarget(pinchToken); } if (doubleTapToken != null) { doubleTapGestureRecognizer.RemoveTarget(doubleTapToken); } if (panToken != null) { panGestureRecognizer.RemoveTarget(panToken); } Clear(); base.Dispose(disposing); }