サードパーティのPDFライブラリ用のPDFViewerを作成しています。NSScrollViewのサブクラスとNSViewのサブクラスがあります。問題は、ウィンドウのサイズを変更すると、NSScrollViewが上下にスクロールすることです。
関連するコードは次のとおりです。
Windowsのサイズが変更されるたびに、NSScrollViewのサブクラスは次のメッセージを受け取ります。
-(void)handleFrameChange:(NSNotification*)notification {
id * docView = [self documentView];
[docView windowResized];
}
私の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];
}