NSTableView から別の NSOutlineView に行をドラッグすると、NSOutlineView に黄色のハイライト ボーダーが表示されます。どうすればそれを回避できますか?
正確に言うと、これは、行をテーブルから NSTableView の空き領域 (つまり、項目以外) にドラッグした場合にのみ発生します。ただし、NSOutlineView のアイテムに行を直接ドラッグすると、黄色の境界線は表示されませんが、(もちろん) アイテム自体が選択されます。
outlineView:validateDrop:proposedItem:proposedChildIndex:
NSOutlineViews のデータ ソースの重要な部分は次のようになります。
- (NSDragOperation)outlineView:(NSOutlineView *)outlineView
validateDrop:(id <NSDraggingInfo>)info
proposedItem:(id)item
proposedChildIndex:(NSInteger)index
{
if ([info draggingSource] == myOtherTableView) {
[outlineView setDropItem:item
dropChildIndex:NSOutlineViewDropOnItemIndex];
return NSDragOperationMove;
}
return NSDragOperationNone;
}
助けてくれてありがとう!