2

2 つの間でドラッグ アンド ドロップを実装していますNSTableViews。これまでのところ、ドラッグアンドドロップをうまく機能させることができました。ただし、私の特定のニーズは、誰がドラッグを開始し、誰がドロップを受け入れているかを検証できるようにすることです。アプリには 2 つ以上の 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

どちらの場合も、「ビュー」は受け入れテーブルです。つまり、ドロップを受けるテーブルです。どのテーブルがドラッグを開始したかを知る方法はありますか?

助けてくれてありがとう!

4

1 に答える 1

1

これは見た目よりもはるかに簡単です。私が見つけた答えが他の人に役立つことを願っています

メソッドでは

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

(id)infoドラッグソースに関するすべての情報があります。だから何か

         NSTableView *dragSource = [info draggingSource]; 

dragSource が表示されます。

于 2013-04-02T20:43:41.767 に答える