[NSImage setHidden:]: 无法识别的选择器发送到实例
[NSImage setHidden:]: unrecognized selector sent to instance
macOS Xcode Objective-C。非常新,所以请耐心等待。
使用以下方式以编程方式显示图像:
- (id)initWithFrame:(NSRect)frame {
self = [super initWithFrame:frame];
if (self) {
m_imgBack = nil;
}
- (void)drawRect:(NSRect)rect {
rect = [ self bounds ];
if( m_imgBack )
[m_imgBack drawInRect:NSMakeRect(0,0,rect.size.width,rect.size.height) fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0];
}
- (void)InitControls {
LoadImageFromFile( [ NSString stringWithFormat:@"%@/common/background.png", DATA_PATHNAME ], &m_imgBack );
}
这样绘制 background.png 没有问题。但是,我看不到使用以下方法隐藏它:
[m_imgBack setHidden:YES];
它只是踢回错误:[NSImage setHidden:]: 无法识别的选择器发送到实例。我以为你可以在 NSImage 上隐藏?
您可以将 NSImage
视为数据对象,因此隐藏它没有意义,就像隐藏 NSArray
或 NSDictionary
没有意义一样。
如果您在视图中显示图像,可以使用 isHidden 隐藏视图。从代码片段中不清楚 class 代码属于什么,但假设它是 NSView
的子 class,您可以尝试 [self setHidden:YES]
.
macOS Xcode Objective-C。非常新,所以请耐心等待。
使用以下方式以编程方式显示图像:
- (id)initWithFrame:(NSRect)frame {
self = [super initWithFrame:frame];
if (self) {
m_imgBack = nil;
}
- (void)drawRect:(NSRect)rect {
rect = [ self bounds ];
if( m_imgBack )
[m_imgBack drawInRect:NSMakeRect(0,0,rect.size.width,rect.size.height) fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0];
}
- (void)InitControls {
LoadImageFromFile( [ NSString stringWithFormat:@"%@/common/background.png", DATA_PATHNAME ], &m_imgBack );
}
这样绘制 background.png 没有问题。但是,我看不到使用以下方法隐藏它:
[m_imgBack setHidden:YES];
它只是踢回错误:[NSImage setHidden:]: 无法识别的选择器发送到实例。我以为你可以在 NSImage 上隐藏?
您可以将 NSImage
视为数据对象,因此隐藏它没有意义,就像隐藏 NSArray
或 NSDictionary
没有意义一样。
如果您在视图中显示图像,可以使用 isHidden 隐藏视图。从代码片段中不清楚 class 代码属于什么,但假设它是 NSView
的子 class,您可以尝试 [self setHidden:YES]
.