Mac Catalyst 中的鼠标滚动

问题描述

我想实现鼠标滚动到我的应用程序。在谷歌搜索之后,基于一些答案和建议,我添加了 UIPanGestureRecognizer。 但不幸的是,我无法捕获任何鼠标滚轮事件。 这是我的代码

- (void)viewDidLoad
{
     [super viewDidLoad];
     if (@available(iOS 13.4,*)) {
            UIPanGestureRecognizer *mouseWheelRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(mouseWheelGesture:)];
            mouseWheelRecognizer.allowedScrollTypesMask = UIScrollTypeMaskdiscrete;
            mouseWheelRecognizer.allowedTouchTypes = @[ @(UITouchTypeIndirectPointer) ];
            mouseWheelRecognizer.cancelstouchesInView = NO;
            mouseWheelRecognizer.delaystouchesBegan = NO;
            mouseWheelRecognizer.delaystouchesEnded = NO;
            [self.view addGestureRecognizer:mouseWheelRecognizer];
        }
}

-(void)mouseWheelGesture:(UIPanGestureRecognizer *)gesture
{
    NSLog(@"Capturing Mouse Wheel");
    if (gesture.state == UIGestureRecognizerStateBegan ||
        gesture.state == UIGestureRecognizerStateChanged ||
        gesture.state == UIGestureRecognizerStateEnded) {
        CGPoint veLocity = [gesture veLocityInView:self.view];

        if (veLocity.x > 0.0f) {
            veLocity.x = -1.0;
        } else if (veLocity.x < 0.0f) {
            veLocity.x = 1.0f;
        }
        if (veLocity.y > 0.0f) {
            veLocity.y = -1.0;
        } else if (veLocity.y < 0.0f) {
            veLocity.y = 1.0f;
        }
        if (veLocity.x != 0.0f || veLocity.y != 0.0f) {
            NSLog(@"Do scrolling");
        }
    }
}

我错过了什么吗? 或者也许还有另一种实现鼠标滚动的方法

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...