2012-10-24 24 views
2

我正在實施兩個NSTableViews之間的拖放操作。到目前爲止,我設法讓拖放工作得很好。但是,我的具體需求是能夠驗證誰正在啓動拖動以及誰接受拖放。我的應用程序中不只有兩個nsTableView,所以我需要確保正確的表正在進行通信。Nstableview:拖放時驗證發件人和收件人

事實證明,在validateDrop和acceptDrop方法,

- (NSDragOperation) tableView: (NSTableView *)view validateDrop:(id)info proposedRow:(NSInteger)row proposedDropOperation:(NSTableViewDropOperation)op 

- (BOOL)tableView: (NSTableView *)view acceptDrop: (id)info row: (NSInteger)row dropOperation: (NSTableViewDropOperation)op 

「視圖」是在兩種情況下,受主表。也就是說,它是接收放置的表格。有什麼方法可以知道哪個表發起了拖動?

我很感謝幫助,謝謝!

回答

1

這是簡單得多比它看起來,我希望,我找到了答案可以幫助別人

在該方法中

(BOOL)tableView: (NSTableView *)view acceptDrop: (id)info row: (NSInteger)row dropOperation: (NSTableViewDropOperation)op 

(id)info有所有關於拖動源的信息。所以像

  NSTableView *dragSource = [info draggingSource]; 

會給你dragSource。

相關問題