当我将行从 NSTableView 拖到另一个 NSOutlineView 时,NSOutlineView 会出现黄色高亮边框。我该如何避免呢?
准确地说,只有当我将表中的行拖到 NSTableView 的可用空间(即不在任何项目上)时,才会发生这种情况。但是,当我直接在 NSOutlineView 中的项目上拖动行时,黄色边框不会显示,但(当然)项目会自行选择。
NSOutlineViews 的数据源中的重要部分outlineView:validateDrop:proposedItem:proposedChildIndex:
如下所示:
- (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;
}
谢谢你的帮助!