放弃 NSTableView 行为
Posted
技术标签:
【中文标题】放弃 NSTableView 行为【英文标题】:Drop on NSTableView Behavior 【发布时间】:2011-01-13 20:23:38 【问题描述】:我有一个 NSTableView 并且我已经成功实现了tableView:validateDrop:proposedRow:proposedDropOperation:
和tableView:acceptDrop:row:dropOperation:
。
我不需要tableView:writeRowsWithIndexes:toPasteboard:
,因为那是为了将对象拖出 NSTableView。
现在,问题是我希望它的行为类似于 iTunes。在 iTunes 9.x 中(我不记得以前的版本)你有一个 NSTableView (播放列表),当你在它上面拖动一个文件时,你会在 NSTableView 中得到这个蓝色焦点(也许是 NSScrollView?),你没有蓝色水平线指示您要插入对象的位置。所以基本上我想:
没有蓝色水平插入线 悬停文件时的行之间 在 NSTableView 上。
NSTableView 内的蓝色焦点 (或 NSScrollView)。
任何帮助将不胜感激,因此在此先感谢您。
【问题讨论】:
【参考方案1】:来自NSTableView reference:
- (void)setDropRow:(NSInteger)row dropOperation:(NSTableViewDropOperation)operation
....
“为行传递值 –1,并且 NSTableViewDropOn 作为操作会导致整个表视图被突出显示,而不是特定行。如果接收器显示的数据不允许用户删除项目,这很有用在特定的行位置”
【讨论】:
谢谢。很抱歉监督 Apple 文档的重要部分。以上是关于放弃 NSTableView 行为的主要内容,如果未能解决你的问题,请参考以下文章