예제 #1
0
        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.");
        }
예제 #2
0
 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);
         }
     }
 }
예제 #3
0
        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;
            }
        }