我有两个并排显示的 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/