代码之家  ›  专栏  ›  技术社区  ›  Son Nguyen

如何在NSView中捕捉多点触控事件

  •  2
  • Son Nguyen  · 技术社区  · 15 年前

    2 回复  |  直到 12 年前
        1
  •  3
  •   rich.e    13 年前

    我知道这是一个老问题,但是如果您希望您的NSView子类接受touch事件(如在iOS中,touchesbeated/Moved/Ended/Cancelled),并且您使用的是OS X>=10.6,可以在initWithFrame:方法中放置以下内容:

    [self setAcceptsTouchEvents:YES];
    [self setWantsRestingTouches:YES]; // for thumb
    

    然后重写以下方法:

    - (void)touchesBeganWithEvent:(NSEvent *)event;
    - (void)touchesMovedWithEvent:(NSEvent *)event;
    - (void)touchesEndedWithEvent:(NSEvent *)event;
    - (void)touchesCancelledWithEvent:(NSEvent *)event;
    

    Cocoa Event Handling Guide 有关详细信息

        2
  •  0
  •   Son Nguyen    15 年前

    实际上,我正在开发一个绘制图表的功能,我使用了核心绘图库,但是CPLayerHosting是从NSView扩展的,所以我不知道如何捕捉多个接触点。

    推荐文章