【问题标题】:How to Drag row from NSOutlineView to NSTableview如何将行从 NSOutlineView 拖到 NSTableview
【发布时间】:2012-08-24 07:29:40
【问题描述】:

我正在学习可可中的拖放... 我无法将行从NSOutlineView 拖放到NSTableView 这对我来说很难.. 我尝试了以下方法..

- (BOOL)outlineView:(NSOutlineView *)outlineView writeItems:(NSArray *)items toPasteboard:(NSPasteboard *)pasteboard proposedChildIndex:(NSInteger)index
- (NSDragOperation)outlineView:(NSOutlineView *)outlineView validateDrop:(id <NSDraggingInfo>)info proposedItem:(id)item proposedChildIndex:(NSInteger)index
- (BOOL)outlineView:(NSOutlineView *)outlineView acceptDrop:(id <NSDraggingInfo>)info item:(id)item childIndex:(NSInteger)index

但我不能执行 darg 和 drop。

【问题讨论】:

  • 您使用的是哪个版本的 xcode?​​span>

标签: macos cocoa xcode4.2 nsdragginginfo


【解决方案1】:

您还必须在目标表视图上调用 registerForDraggedTypes: 以注册表视图将接受的删除类型。

【讨论】:

  • 拖放功能完美。现在我需要删除NSOutlineView中拖动的行请指导我解决这个问题...
  • 从您的 NSTreeController 或您用于驱动 NSOutlineView 的其他数据源中删除该行。如果您使用绑定,大纲将自动更新,否则您必须执行 -reloadData。
  • 我正在使用 'NSMutableArray' 到 'NSOutlineView' 数据源。我怎样才能找到拖动的行...以及如何删除...对不起,我是可可的新手..
  • 您可以将项目临时存储在outlineView:writeItems:toPasteboard:中,拖动完成后可以从数组中删除项目。
  • 接受删除操作后,我需要删除行。我为NSOutlineViewNSTableView 委托使用了两个类。当我从NSTableView 类中的NSOutlineView 中删除拖动的行时,它不会删除该行。大纲视图未更新。
猜你喜欢
  • 2010-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多