2010-06-28 42 views
2

有什麼辦法來處理擴展NSView的類中的多點觸摸?目前與拖動事件的1觸摸正在工作。如何在NSView中捕捉多點觸摸事件

+0

我有延長的NSView類,並在這個類,我可以捕獲mouseDown,mouseUp,mouseDragged事件,但我不知道如何計算屏幕上的觸摸次數,如果有可能,我可以將它作爲多點觸摸事件來處理。任何人都可以幫助我! – 2010-06-29 02:54:03

回答

3

我知道這是一個老問題,但如果你想讓你的NSView子類接受觸摸事件(比如在iOS中,touchesBegan/Moved/Ended/Canceled)並且你在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的細節

+0

如果可能,請幫我解決我的問題。 [這裏](http://stackoverflow.com/questions/24734940/disable-user-interaction-for-nsimageview)是問題,非常感謝:) – 2014-07-14 13:39:09

0

實際上,我正在開發一個繪製圖表的功能,我使用了Core-Plot圖表庫,但CPLayerHosting是從NSView擴展的,因此我不知道如何捕捉多個觸摸點。

對我來說非常幸運,Core-Plot項目中有2個CPLayerHosting類,另一個僅用於iPhone,它是從UIView擴展的,所以問題解決了! :)

相關問題