您好我想知道是否有人可以解释如何启用/禁用重新绘制从nsview继承的任何类?
我知道Windows有一条消息可以发送给hwnd来启用/禁用小工具绘画消息。然后,这也传播给儿童hwnds。在Mac开发中是否有等效的方法?
我有一个现有的GUI库,我想知道是否有一种不需要修改现有源代码的方法吗?
答案 0 :(得分:1)
如果问题在于您正在进行大量的控件布局工作,并且在发生这种情况时不希望绘图,则可以使用[NSWindow disableScreenUpdatesUntilFlush]
或全局NSDisableScreenUpdates()
和{ {1}}用于阻止屏幕更新,直到您准备好。
答案 1 :(得分:0)
我不确定你要做什么,但想象你有一个带有draw方法的NSView子类
·H
BOOL shouldDraw;
的.m
-(void)drawRect:(NSRect)someRect
{
if(shouldDraw)
{
[super drawRect:someRect];
}
}
如果你从不打电话给超级画画,那么就不会有任何画面。