【问题标题】:Customize NSTableView dragging session but dragging frame coordinate is not the tableview?自定义 NSTableView 拖动会话但拖动帧坐标不是 tableview?
【发布时间】:2015-12-07 08:52:16
【问题描述】:
-(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];
                              }];

}

如图所示,拖动图片的位置不是鼠标点的位置。 有人知道为什么吗?谢谢帮忙~~^_^

【问题讨论】:

  • 原图帧在[draggingItem draggingFrame].
  • @Willeke 非常感谢,你帮了我很多。 ☆*:.。. o(≧▽≦)o.。.:*☆

标签: objective-c macos tableview


【解决方案1】:

我认为这个问题的原因是我的英语不好,我没有完全理解苹果文档。并感谢@Willeke 的帮助。 我应该做的是不要改变拖动框架。所以只需将[draggingItem draggingFrame]设置为draggingFrame即可。( ̄▽ ̄) 我觉得这是个很蠢的问题,哈哈~~

【讨论】:

    猜你喜欢
    • 2013-07-09
    • 1970-01-01
    • 2011-11-15
    • 1970-01-01
    • 2020-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-02
    相关资源
    最近更新 更多