Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa 在NSView中隐藏子控件_Cocoa_Xcode_Nsview_Nswindow_Nsimage - Fatal编程技术网

Cocoa 在NSView中隐藏子控件

Cocoa 在NSView中隐藏子控件,cocoa,xcode,nsview,nswindow,nsimage,Cocoa,Xcode,Nsview,Nswindow,Nsimage,我有一个包含多个子控件的NSView。我知道我可以调用[childControl setHidden:TRUE],但我想知道是否可以阻止子控件的消息“drawRect:” 我注意到不在NSView上调用[super drawRect:NSZeroRect]不会影响子控件。所以我的问题是谁调用子控件drawRect消息?如果有办法阻止它 谢谢你,何塞。每次控制装置发生光学反应时,它们都会再次绘制视图。 如果您真的想这样解决这个问题,可以为每个控件创建一个子类,并添加如下代码: -(void)dra

我有一个包含多个子控件的NSView。我知道我可以调用[childControl setHidden:TRUE],但我想知道是否可以阻止子控件的消息“drawRect:”

我注意到不在NSView上调用[super drawRect:NSZeroRect]不会影响子控件。所以我的问题是谁调用子控件drawRect消息?如果有办法阻止它


谢谢你,何塞。

每次控制装置发生光学反应时,它们都会再次绘制视图。 如果您真的想这样解决这个问题,可以为每个控件创建一个子类,并添加如下代码:

-(void)drawRect:(NSRect)rect {
if (!self.blocked) {
[super drawRect:rect];
}
}
属性“blocked”是一个布尔值,如果要阻止它,必须将其设置为YES或NO。 注意:为了完全隐藏它,必须在控件子类第一次自己绘制之前阻止它