Objective c 拖动时滚动NSTableView

Objective c 拖动时滚动NSTableView,objective-c,Objective C,我在任何地方都没有成功地找到答案,我想答案很简单,但在经历了几个小时的挫折之后,我仍然被困在那里,所以下面是我试图做的 我设置了一个NSTableView,它以编程方式填充: (NSInteger)表视图中的行数:(NSTableView*)表视图 (id)tableView:(NSTableView*)tableView objectValueForTableColumn:(NSTableColumn*)tableColumn行:(NSInteger)行 每当鼠标向下移动到视图外时,Tab

我在任何地方都没有成功地找到答案,我想答案很简单,但在经历了几个小时的挫折之后,我仍然被困在那里,所以下面是我试图做的

我设置了一个NSTableView,它以编程方式填充:

  • (NSInteger)表视图中的行数:(NSTableView*)表视图
  • (id)tableView:(NSTableView*)tableView objectValueForTableColumn:(NSTableColumn*)tableColumn行:(NSInteger)行
每当鼠标向下移动到视图外时,TableView会上下滚动

接下来,我设置了拖放,只要我停留在当前视图中,它就可以很好地工作。我使用:

  • (NSDragOperation)tableView:(NSTableView*)tableView validateDrop:(id)info proposedRow:(NSInteger)row proposedDropOperation:(NSTableViewDropOperation)dropOperation
  • (BOOL)tableView:(NSTableView*)tableView acceptDrop:(id)info row:(NSInteger)row dropOperation:(NSTableView dropOperation)操作
  • (BOOL)tableView:(NSTableView*)tableView writeRowsWithIndexes:(NSIndexSet*)rowIndextofasteBoard:(NSPasteboard*)pboard
最后一个问题似乎是我问题的症结所在。如果返回“是”,则所选单元格将拖动,但自动滚动将关闭。因此,如果我尝试拖动到表视图之外,则不会发生任何事情。返回“否”将停止拖动,但会重新启用滚动


那么,如何才能同时拖动和滚动呢?

您是如何实现滚动的?到目前为止,除了标准功能外,没有其他功能。这就是我想知道我是否遗漏了什么?如果不拖放TableView滚动,我相信这就是NSScrollView的目的?很抱歉,我没有意识到
NSTableView
可以做到这一点。拖动时的默认滚动是否有效?当您将行几乎拖到表视图的可见部分之外时,应该会发生这种情况。是的,只要tableView:WriteRowWithIndexes:toPasteboard:返回否,则不存在拖放功能。