仅绘制NSView的调整大小的区域

时间:2014-05-03 15:24:02

标签: objective-c performance cocoa optimization nsview

我试图有效地绘制NSView,即使在调整大小时也是如此。根据{{​​1}}的文档,我可以使用-drawRect:来确定需要重绘的内容,并且只重绘它。此外,如果我想要实时调整大小保留内容,我应该从-getRectsBeingDrawn:count:返回YES并覆盖-preservesContentDuringLiveResize并使用-setFrameSize:来确定要标记为需要显示的内容。但是在实时调整窗口大小时,在-getRectsExposedDuringLiveResize:count:-drawRect:方法仍然返回NSView的整个边界,而不仅仅是视图中新暴露的部分。我使用下面的NSView子类(自动调整大小以始终填充窗口)并通过向下拖动窗口的底边来确认这一点。

-getRectsBeingDrawn:count:

0 个答案:

没有答案