public void NSViewShouldAddGestureRecognizer() { Asserts.EnsureYosemite(); var length = 0; if (view.GestureRecognizers != null) { length = view.GestureRecognizers.Length; } view.AddGestureRecognizer(new NSGestureRecognizer()); Assert.IsTrue(view.GestureRecognizers.Length == length + 1, "NSViewShouldAddGestureRecognizer - Failed to add recognizer, count didn't change."); }
public void SetEnabled(NSView view, bool enableTouchEvents) { if (view != null) { if (enableTouchEvents && !view.GestureRecognizers.Contains(this)) { view.AddGestureRecognizer(this); } else if (!enableTouchEvents && view.GestureRecognizers.Contains(this)) { view.RemoveGestureRecognizer(this); } } }
protected override void OnAttached() { _view = Control ?? Container; if (Element is ITouchAndPressEffectConsumer touchAndPressEffectConsumer) { _touchAndPressGestureRecognizer = new TouchAndPressGestureRecognizer(touchAndPressEffectConsumer); _view.AddGestureRecognizer(_touchAndPressGestureRecognizer); } // Ensure the button scales with respect to its center - there seems to be a bug on macOS so this is necessary if (Element is VisualElement visualElement) { visualElement.AnchorX = 1.0; visualElement.AnchorY = 1.0; } }