如何在两个NSScrollView实例中同步/链接滚动?

时间:2015-03-18 07:44:35

标签: cocoa nsview appkit nsscrollview

我已阅读并应用approach/method provided by Apple来同步两个NSScrollView个实例。我的问题更简单,因为我只需要在一个方向上进行同步(而不是双向)。

总结该方法:“source”scrollView post bounds更改通知,这些通知由调用侦听scrollview的clipview的scrollToPoint方法的处理程序观察到。

问题

虽然第二个scrollView确实与第一个(最终)同步,但两者之间存在明显的滞后。这对我来说更糟糕,因为收听NSScrollView包含需要与正文内容对齐的标题。

我通过以30 fps记录我的滚动动作并播放它来确认延迟。检查该粒度级别,很清楚源scrollView在侦听scrollView之前开始移动。

如何让这两个scrollViews 真正保持彼此同步 - 这可能还是我期待的很多?

1 个答案:

答案 0 :(得分:0)

我使用addFloatingSubview: NSScrollView API间接解决了这个问题。然而,这会产生其他问题,即scrollRectToVisible预计会被视为无遮挡NSClipView。这个问题在这个问题中有更详细的记录:

https://stackoverflow.com/questions/29153071/how-can-i-layout-my-clipview-relative-to-my-scrollview