Cocoa 如何停止NSScrollView在调整大小时滚动?

Cocoa 如何停止NSScrollView在调整大小时滚动?,cocoa,scroll,resize,nsview,nsscrollview,Cocoa,Scroll,Resize,Nsview,Nsscrollview,我正在为第三方PDF库编写PDFViewer。我有一个子类NSScrollView和一个子类NSView。问题是当我调整窗口大小时,NSScrollView会上下滚动 以下是相关代码: 每当调整窗口大小时,NSScrollView的子类都会收到以下消息: -(void)handleFrameChange:(NSNotification*)notification { id * docView = [self documentView]; [docView windowResize

我正在为第三方PDF库编写PDFViewer。我有一个子类NSScrollView和一个子类NSView。问题是当我调整窗口大小时,NSScrollView会上下滚动

以下是相关代码:

每当调整窗口大小时,NSScrollView的子类都会收到以下消息:

-(void)handleFrameChange:(NSNotification*)notification {
    id * docView = [self documentView];
    [docView windowResized];
}
在my docView中,NSView的一个子类,包含绘制pdf的代码

- (void)windowResized;
{
    NSSize size = [[self superview] bounds].size;
    int width = (int) size.width;
    int height = (int) size.height;
    _pdfView->OnSize(width, height);

    double w = _pdfView->GetCanvasWidth();
    double h = _pdfView->GetCanvasHeight();
    [self setFrameSize:NSMakeSize(w, h)];

    //allocate buffer
    _buf.resize(width * height * 4, NULL);

    [self setNeedsDisplay:YES];
 }