首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何判断NSPanel是否已不在视图中?

如何判断NSPanel是否已不在视图中?
EN

Stack Overflow用户
提问于 2011-12-08 01:04:56
回答 1查看 200关注 0票数 0

我正在使用NSPanel来显示应用程序的统计数据。当App调用computeStats时,它会尝试检查NSPanel isVisible。现在,NSPanel没有在应用程序启动时加载。它要求用户从命令中打开它。然后显示NSPanel。

代码语言:javascript
复制
-(IBAction)viewStats:(id)sender
{
    [self.statsPanel makeKeyAndOrderFront:self];
}

现在,如果用户关闭stats面板,computeStats方法将检查它是否可见,只有当它是可见时,它才会用stats数据更新NSTextFields。

代码语言:javascript
复制
-(void)computeStats
{
    if ([self.statsPanel isVisible])
    {
        [self.minLabel setDoubleValue:min];
        [self.medLabel setDoubleValue:med];
        [self.avgLabel setDoubleValue:avg];
        [self.maxLabel setDoubleValue:max];
    }
}

但是,这会失败(与EXC_BAD_ACCESS一起崩溃),在用户打开后关闭NSPanel。就好像面板仍然是可见的,即使在用户关闭它之后。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-08 01:08:04

试一试

代码语言:javascript
复制
[self.statsPanel setReleasedWhenClosed:NO];

当第一次显示统计面板时。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8424902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档