gpt4 book ai didi

macos - Catalyst 转换的 Mac 应用程序中的滚轮事件捕获

转载 作者:行者123 更新时间:2023-12-04 10:05:00 25 4
gpt4 key购买 nike

使用 Catalyst 从 iOS 转换而来的 Mac 应用程序时,捕获 Mac 鼠标滚轮事件的常用方法,例如使用

  • (void)scrollWheel:(NSEvent *)event;

在构建 Catalyst 转换的应用程序时,显然不支持 NSEvent。

我需要控制的对象位于常规图像容器中,而不是 ScrollView 容器中。我只是想使用滚轮来更改加载的图像。触控板事件工作正常,但到目前为止捕捉滚轮一直难以捉摸。

谢谢!

最佳答案

使用 UIPanGestureRecognizer 并将 allowedScrollTypesMask 设置为 UIScrollTypeMaskDiscrete:

    // pan gesture to recognize mouse-wheel scrolling (zoom)
UIPanGestureRecognizer * scrollWheelGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handleScrollWheelGesture:)];
scrollWheelGesture.allowedScrollTypesMask = UIScrollTypeMaskDiscrete; // only accept scroll-wheel, not track-pad
scrollWheelGesture.maximumNumberOfTouches = 0;
[self.view addGestureRecognizer:scrollWheelGesture];

然后

- (void)handleScrollWheelGesture:(UIPanGestureRecognizer *)pan
{
CGPoint delta = [pan translationInView:self.view];
CGFloat zoom = (1000 + delta.y) / 1000;
[self adjustZoomBy:zoom];
}

关于macos - Catalyst 转换的 Mac 应用程序中的滚轮事件捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61630225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com