protected override void OnAttached()
        {
            effect = TouchEffect.PickFrom(Element);
            if (effect?.IsDisabled ?? true)
            {
                return;
            }

            effect.Element = (VisualElement)Element;

            touchGesture = new TouchUITapGestureRecognizer(effect);
            hoverGesture = new UIHoverGestureRecognizer(OnHover);

            if (View != null)
            {
                if (((View as IVisualNativeElementRenderer)?.Control ?? View) is UIButton button)
                {
                    button.AllTouchEvents += PreventButtonHighlight;
                    touchGesture.IsButton  = true;
                }

                View.AddGestureRecognizer(touchGesture);
                View.AddGestureRecognizer(hoverGesture);
                View.UserInteractionEnabled = true;
            }
        }
示例#2
0
        protected override void OnDetached()
        {
            if (effect?.Element == null)
            {
                return;
            }

            if ((Container as IVisualNativeElementRenderer)?.Control is UIButton button)
            {
                button.AllTouchEvents -= PreventButtonHighlight;
            }

            Container?.RemoveGestureRecognizer(gesture);
            gesture?.Dispose();
            gesture        = null;
            effect.Element = null;
            effect         = null;
        }
        protected override void OnDetached()
        {
            if (effect?.Element == null)
            {
                return;
            }

            if (((View as IVisualNativeElementRenderer)?.Control ?? View) is UIButton button)
            {
                button.AllTouchEvents -= PreventButtonHighlight;
            }

            View?.RemoveGestureRecognizer(touchGesture);
            View?.RemoveGestureRecognizer(hoverGesture);
            touchGesture?.Dispose();
            hoverGesture?.Dispose();
            touchGesture   = null;
            hoverGesture   = null;
            effect.Element = null;
            effect         = null;
        }
示例#4
0
        protected override void OnAttached()
        {
            effect = TouchEffect.PickFrom(Element);
            if (effect?.IsDisabled ?? true)
            {
                return;
            }

            effect.Element = (VisualElement)Element;

            gesture = new TouchUITapGestureRecognizer(effect);

            if (Container != null)
            {
                if ((Container as IVisualNativeElementRenderer)?.Control is UIButton button)
                {
                    button.AllTouchEvents += PreventButtonHighlight;
                    gesture.IsButton       = true;
                }

                Container.AddGestureRecognizer(gesture);
                Container.UserInteractionEnabled = true;
            }
        }