自定义NSTableView拖拽session但是拖拽的frame坐标不是tableview?
Customize NSTableView dragging session but dragging frame coordinate is not the tableview?
-(void)tableView:(NSTableView *)tableView
draggingSession: (NSDraggingSession *)session
willBeginAtPoint:(NSPoint)screenPoint
forRowIndexes:(NSIndexSet *)rowIndexes {
[session enumerateDraggingItemsWithOptions:NSDraggingItemEnumerationConcurrent
forView:tableView
classes:[NSArray arrayWithObject:[NSPasteboardItem class]]
searchOptions:nil
usingBlock:^(NSDraggingItem *draggingItem, NSInteger index, BOOL *stop) {
NSImage *image = [NSImage imageNamed:@"about_bg"];
[draggingItem setDraggingFrame:NSMakeRect(0, 0, 100, 100)
contents:image];
}];
}
如图所示,拖动图片的位置不是鼠标点位置。
有人知道为什么吗?谢谢帮忙~~^_^
我认为这个问题的原因是我的英语不好,我没有完全理解apple doc。并感谢@Willeke 的帮助。
我应该做的是不改变拖动框。所以只需将[draggingItem draggingFrame]设置为draggingFrame即可。( ̄▽ ̄)
我觉得这是一个很愚蠢的问题,哈哈~~
-(void)tableView:(NSTableView *)tableView
draggingSession: (NSDraggingSession *)session
willBeginAtPoint:(NSPoint)screenPoint
forRowIndexes:(NSIndexSet *)rowIndexes {
[session enumerateDraggingItemsWithOptions:NSDraggingItemEnumerationConcurrent
forView:tableView
classes:[NSArray arrayWithObject:[NSPasteboardItem class]]
searchOptions:nil
usingBlock:^(NSDraggingItem *draggingItem, NSInteger index, BOOL *stop) {
NSImage *image = [NSImage imageNamed:@"about_bg"];
[draggingItem setDraggingFrame:NSMakeRect(0, 0, 100, 100)
contents:image];
}];
}
如图所示,拖动图片的位置不是鼠标点位置。 有人知道为什么吗?谢谢帮忙~~^_^
我认为这个问题的原因是我的英语不好,我没有完全理解apple doc。并感谢@Willeke 的帮助。 我应该做的是不改变拖动框。所以只需将[draggingItem draggingFrame]设置为draggingFrame即可。( ̄▽ ̄) 我觉得这是一个很愚蠢的问题,哈哈~~