当您使用较新的 Apple Magic Mouse 滚动时(至少在 10.6 上,我无法确认任何以前的 Mac OS),您会像在 iPhone 上滚动一样获得惯性滚动(也就是说,在轻弹手指滚动后,它不会突然停止,而是逐渐减速)。这种行为对于所有 NSScrollViews 都是“免费的”,它会出现。
有一些例外情况,例如 Mac 版 Tweetie(我听说 Tweetie 是用自定义的 Table View 类编写的,其工作方式类似于UITableView
iPhone 上的工作方式)。
我的问题是,滚动视图如何知道如何进行这种惯性滚动?我的猜测是鼠标 [驱动程序] 在滚动期间重复发送具有抑制滚动幅度(或类似的东西)的滚动事件。但我不确定它是如何工作的。
我在我的滚动视图类中遇到了一些滚动问题,我试图找出原因(显然我们没有 Tweetie 的源代码来查看为什么它没有得到正确的滚动),但只是想更好地理解它如何工作以解决我自己的问题。