1

我正在使用 Xcode 制作一个应用程序,该应用程序具有一个 NSImageView,我通过在我的 .xib 中选择它来制作一个 NSScrollView(我认为),然后转到 Xcode 中的编辑器菜单,然后嵌入到 > scrollView 中。

我的 NSScrollView 中有一个比打开它的窗口大的图像,我可以很好地使用滚动条滚动,甚至在我的方法中打开了该autoscroll:功能。mouseDragged:

我希望能够简单地平移图像而无需使用mouseDragged:. 到目前为止,我mouseDragged:在 panning.m(NSImageView 的子类)中的代码是这样的:

-(void)mouseDragged:(NSEvent *)theEvent{
   NSPoint p = [theEvent locationInWindow];
   [self scrollRectToVisible:NSMakeRect(p.x - self.visibleRect.origin.x, p.y - self.visibleRect.origin.y, self.visibleRect.size.width, self.visibleRect.size.height)];
   [self autoscroll:theEvent];
}

这在某种程度上有效,但是有很多抖动。也许是因为我没有限制界限?

我想知道我是否走在正确的轨道上,或者是否有更好/更有效的方法。

任何帮助表示赞赏。

干杯。

4

0 回答 0