关闭后 NWindow 从停靠图标重新显示多次
NSwindow re show multiple times from dock icon after closed
//My code:
- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag
{
if(flag==NO)
{
id window;
NSWindow *w = window;
for(w in theApplication.windows)
{ if(w==[[theApplication windows]objectAtIndex:0])
{
[w makeKeyAndOrderFront:nil];
}
}
}
return YES;
}
- (BOOL)applicationShouldOpenUntitledFile:(NSApplication *)sender;
{
return NO;
}
- (BOOL)applicationOpenUntitledFile:(NSApplication *)sender
{
return NO;
}
面临的问题
-以上代码显示无标题window
-如果我从 if
条件中删除 [w makeKeyAndOrderFront:nil];
那么所有 windows 和无标题 window 都会显示一次
- 使用 open untitled 方法不会停止其 window 显示
必填
-我只想关闭 window 打开
在对上述代码进行更多调查后,我找到了如下解决方案
-使用的方法是正确的
- 要再次加载相同的屏幕,我们需要在 application.windows array.That 中找到该屏幕的索引,可以使用代码完成:
for (int i; i<[[[NSApplication sharedApplication]windows] count]; i++)
{
if (yourwindow==[[[NSApplication sharedApplication]windows] objectAtIndex:i])
{
NSLog(@"%d",i);
//i is your screen index
}
}
现在使用提到的代码中的索引加载 window,它也会阻止显示未命名的 window
注意:查找window的索引应该在加载方法完成后使用。
//My code:
- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag
{
if(flag==NO)
{
id window;
NSWindow *w = window;
for(w in theApplication.windows)
{ if(w==[[theApplication windows]objectAtIndex:0])
{
[w makeKeyAndOrderFront:nil];
}
}
}
return YES;
}
- (BOOL)applicationShouldOpenUntitledFile:(NSApplication *)sender;
{
return NO;
}
- (BOOL)applicationOpenUntitledFile:(NSApplication *)sender
{
return NO;
}
面临的问题
-以上代码显示无标题window
-如果我从 if
条件中删除 [w makeKeyAndOrderFront:nil];
那么所有 windows 和无标题 window 都会显示一次
- 使用 open untitled 方法不会停止其 window 显示
必填 -我只想关闭 window 打开
在对上述代码进行更多调查后,我找到了如下解决方案
-使用的方法是正确的 - 要再次加载相同的屏幕,我们需要在 application.windows array.That 中找到该屏幕的索引,可以使用代码完成:
for (int i; i<[[[NSApplication sharedApplication]windows] count]; i++)
{
if (yourwindow==[[[NSApplication sharedApplication]windows] objectAtIndex:i])
{
NSLog(@"%d",i);
//i is your screen index
}
}
现在使用提到的代码中的索引加载 window,它也会阻止显示未命名的 window
注意:查找window的索引应该在加载方法完成后使用。