2016-07-17 81 views
0

我有一個視圖,其中有一個跟蹤區域,根據鼠標在視圖中的位置改變鼠標光標。同樣的觀點也是某種文件類型的拖拽目標。檢測鼠標是否被拖入AppKit

當我將一個文件(例如從Finder)拖動到該視圖中時,綠色加號圖標會在光標旁邊短暫顯示,但在跟蹤區更新光標後會消失。有沒有什麼方法可以告訴我鼠標正在拖動,而不是更新光標?

回答

0

不像我希望的那麼直接,但我想出的一個解決方案是在NSDraggingDestination方法中設置一個標誌,然後在設置光標的代碼中檢查該標誌。這似乎工作得很好。

- (NSDragOperation)draggingEntered:(id<NSDraggingInfo>)sender { 
    self.dragIsBeingPerformed = YES; 
    // Rest of method. 
} 

- (void)draggingExited:(id<NSDraggingInfo>)sender { 
    self.dragIsBeingPerformed = NO; 
    // Rest of method. 
} 

- (void)concludeDragOperation:(id<NSDraggingInfo>)sender { 
    self.dragIsBeingPerformed = NO; 
    // Rest of method. 
}