[NSImage setHidden:]:无法识别的选择器发送到实例



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看作一个数据对象,所以隐藏它是没有意义的,就像隐藏NSArrayNSDictionary一样没有意义。

如果你在视图中显示图像,可以使用isHidden隐藏视图。从代码片段中不清楚代码属于哪个类,但假设它是NSView的子类,您可以尝试[self setHidden:YES]

相关内容

  • 没有找到相关文章

最新更新