目标c-如何在macOSX上识别触控板上的一个手指拖动



我在读取触控板事件时遇到一些问题。我需要在触控板上点击并拖动一个取景器。也为了区分它们。捕捉一个点击是这样工作的:

- (void)mouseUp:(NSEvent*)theEvent
{
    CGFloat wdev2  = self.bounds.size.width / 2;
    CGFloat hdev2 = self.bounds.size.height / 2;
    NSPoint point = [theEvent locationInWindow];
    float x = (point.x - wdev2) / wdev2;
    float y = (point.y - hdev2) / hdev2;
    [_touchHandler handleMouseTouch:x And:y];
}

但是如何识别阻力呢?我尝试了mouseDragged:,这给了我三个查找器平移事件。

提前谢谢。

我相信除了NSGestureRecognizer之外,您还需要使用mouseDragged

鼠标拖动

此方法的默认实现不执行任何操作 。使用此以任何方式更新手势识别器状态的方法是合适的。

手势识别器监视在其视图中发生的事件(以及子视图(,但不参与响应器链本身。这个手势识别器先于任何视图接收事件。请使用delaysPrimaryMouseButtonEvents属性来控制事件是否传播到视图。

NSGestureRecognizer一起使用,应该能够获得您想要的效果。

↳AppKit框架参考>NSGestureRecognizer类参考

最新更新