cocoa - 如何检测 NSOutlineView 的滚动?

标签 cocoa nsoutlineview

我有两个并排显示的 NSOutlineView,它们包含相同数量的行(这是先决条件),并且当用户使用鼠标、键盘或滚动条滚动时我需要同步它们,以便我看到相同的 View 部分(或行) )。

我是 cocoa 土地上的新手,我无法找到如何实现这一点

最佳答案

您需要获取 NSOutlineView 的封闭 ScrollView 的剪辑 View :

NSClipView * clipView = [[outlineView enclosingScrollView] contentView];

...并将其 -setPostsFrameChangedNotifications: 设置为 YES。从该 View 监听 NSViewFrameDidChangeNotification 并做出相应响应。

注意:术语不是很清楚。大多数人对 -contentView: 的第一个期望是它返回正在滚动的 View 。 -contentView: 方法返回 ScrollView 的 NSClipView,而 -documentView: 方法返回正在滚动的实际 View 。

关于cocoa - 如何检测 NSOutlineView 的滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5363728/

相关文章:

swift - 如何编写 NSOutlineView?

ios - 如何缩短可能包括的 NSString HFS+ 文件名允许的表情符号最大长度

objective-c - 如何在Cocoa中的App包中包含框架安装包?

objective-c - Cocoa:namesOfPromisedFilesDroppedAtDestination 仅返回一个文件

objective-c - 如何将图像放在大纲 View 中仅父行的文本单元格旁边?

objective-c - NSOutlineView 单元格具有相同值时的问题

objective-c - cocoa : Multiline NSTextFieldCell in a NSOutlineView

objective-c - 使用 ARC 临时保留对象的最佳方法

ios - sleep() 适用于 iOS 但不适用于 mac?

python - 在 XCode 4 中运行 PyObjC 模板时发生泄漏