Kev*_*vez 2 xcode cocoa objective-c nswindow
我很确定答案一定很容易,但由于某些原因我不能让它起作用!
我有一个窗口,这段代码:
[someWindow setHidesOnDeactivate:YES];
Run Code Online (Sandbox Code Playgroud)
我有一个状态项,以及以下代码
- (void)openWindow{
if ([someWindow isVisible]) {
NSLog(@"CLOSING");
[lyricWindow close];
}else {
[someWindow makeKeyAndOrderFront:nil];
NSLog(@"SHOWING");
}
}
Run Code Online (Sandbox Code Playgroud)
当我关闭窗口并想再打开它时,这个工作正常.既然我已经实现了停用的隐藏,我就失去了我需要做的事情!我已经尝试了各种各样的事情......我希望窗口再次显示,并且当我单击状态项时窗口变为活动状态!我认为这是我的问题.
单击状态项时如何激活窗口?
我在日志中得到以下内容:
关闭显示关闭显示
无论窗口是否隐藏,关闭都是第一个,这是相当有趣的,因为如果窗口已被隐藏,则id guess isVisible将返回false.无论如何,我没有窗户.我该如何取消隐藏窗户?
谢谢!
我有同样的问题,在隐藏停用之后,我无法重新显示一个窗口.在我的情况下,当按下NSStatusItem时,我正在显示NSPanel(NSWindow的子类).
以下代码最终让我的NSPanel重新显示:
[NSApp arrangeInFront:sender];
[myWindow makeKeyAndOrderFront:sender];
[NSApp activateIgnoringOtherApps:YES];
Run Code Online (Sandbox Code Playgroud)
我很确定'activateIgnoringOtherApps'是关键所在.对我来说,它并不理想,因为它将焦点从用户当前的应用程序中移开.
| 归档时间: |
|
| 查看次数: |
2540 次 |
| 最近记录: |