使用Cocoa NSScrollView平移问题

时间:2012-10-03 07:36:07

标签: cocoa nsscrollview nsimageview

我使用Xcode制作一个具有NSImageView的应用程序,我已经将其制作成NSScrollView(我认为),通过在我的.xib中选择它,转到Xcode中的编辑器菜单然后嵌入到>中。滚动视图。

我的NSScrollView中的图像比打开的窗口大,我可以使用滚动条滚动,甚至打开autoscroll:方法中的mouseDragged:函数。

我希望能够简单地平移图像,而不会使用mouseDragged:触及屏幕边缘。到目前为止,我的panning.m(NSImageView的子类)中的mouseDragged:代码是这样的:

-(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];
}

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

我想知道我是在正确的轨道上还是有更好/更有效的方式。

感谢任何帮助。

干杯。

0 个答案:

没有答案