我正在两个NSTableViews
之间实施拖放操作。到目前为止,我已经设法让拖拽工作得很好。但是,我的具体需求是能够验证谁正在启动拖动以及谁正在接受丢弃。我的应用程序中不仅仅有两个nsTableViews,所以我需要确保正确的表正在进行通信。
事实证明,在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
'view'是两种情况下的接受者表。也就是说,它是接收掉落的表。有没有办法知道哪个表启动了拖动?
感谢您的帮助,谢谢!
答案 0 :(得分:1)
这比它看起来要简单得多,我希望我找到的答案可以帮助别人
方法
(BOOL)tableView: (NSTableView *)view acceptDrop: (id)info row: (NSInteger)row dropOperation: (NSTableViewDropOperation)op
(id)info
包含有关拖动源的所有信息。像
NSTableView *dragSource = [info draggingSource];
将为您提供dragSource。