NSScrollView不会为documentView调用drawRect

时间:2016-03-23 15:29:36

标签: objective-c macos nsscrollview

我有可绘制内容的NSScrollView。 滚动工作正常,直到我按下Cmd + Tab或以任何其他方式隐藏窗口。 当我第二次用scrollView打开窗口时,它不会在滚动时重绘内容。 所以documentView的drawRect函数不再起作用了。

设置内容视图(我需要在滚动时重绘它,因为self.documentView比窗口的宽度宽得多) [self.documentScroll setDocumentView:self.documentView];

在NSClipView中

- (void)drawRect:(NSRect)dirtyRect {

[self setCopiesOnScroll: NO];
[super drawRect:dirtyRect];

NSArray* ar = self.subviews;
NSView* docView = ar.firstObject;
BOOL b = docView.needsDisplay;

}

隐藏窗口并显示第二次后,docView.needsDisplay始终为NO。在应用程序的启动时,它总是在每个滚动事件中都是YES和drawRect方法调用documentView

0 个答案:

没有答案