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; } }
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; }
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; } }