0
我有一個具有畫布(NSView)的應用程序,用戶可以在其中拖動元素。當鼠標離開該視圖的邊緣時,它變成一個拖動操作。如何在Mac應用程序中取消拖動
我想要做的是,當鼠標再次進入原始視圖時,它將取消操作並自動在畫布內再次開始移動。
我可以弄清楚第二部分我只需要弄清楚如何強制拖放來取消。我需要以dragingEntered的方式做到這一點:所以在鼠標被釋放之前。
我有一個具有畫布(NSView)的應用程序,用戶可以在其中拖動元素。當鼠標離開該視圖的邊緣時,它變成一個拖動操作。如何在Mac應用程序中取消拖動
我想要做的是,當鼠標再次進入原始視圖時,它將取消操作並自動在畫布內再次開始移動。
我可以弄清楚第二部分我只需要弄清楚如何強制拖放來取消。我需要以dragingEntered的方式做到這一點:所以在鼠標被釋放之前。
使您的畫布視圖也響應拖動。最初所有的<NSDraggingDestionation>
協議方法都會返回「no,什麼都不做」,但是如果你從畫布中開始拖動,你會跟蹤它,一旦拖動離開並返回,你的NSDraggingDestionation方法將返回,「Ok ,我們接受,拖動結束,不要打擾動畫。「
然後你可以繼續本地跟蹤。就像,假設你的畫布呼籲:
- (void)dragImage:(NSImage *)anImage at:(NSPoint)viewLocation offset:(NSSize)initialOffset event:(NSEvent *)event pasteboard:(NSPasteboard *)pboard source:(id)sourceObj slideBack:(BOOL)slideFlag;
這種方法會然後返回控制你的畫布