调用的故事板即将在所有打开的窗口后面

时间:2016-03-15 08:55:19

标签: objective-c xcode cocoa

在cocoa应用程序中,我在某些事件上调用了一个故事板,例如按钮点击:

NSStoryboard *storyBoard = [NSStoryboard storyboardWithName:@"SendStoryboard" bundle:nil]; 
NSWindowController *myController = [storyBoard instantiateControllerWithIdentifier:@"SendIdentifier"]; 
[myController showWindow:nil];

这段代码能够调用故事板,但我不明白为什么它会落后于已经在finder中打开的其他窗口。 请帮我解决问题。我只希望它在每个窗口的顶部。

1 个答案:

答案 0 :(得分:2)

使用以下代码:

- (void)windowDidLoad {
[super windowDidLoad];
NSRunningApplication* app = [NSRunningApplication
                             runningApplicationWithProcessIdentifier: pID];
[app activateWithOptions: NSApplicationActivateAllWindows];}

或使用以下代码:

NSArray* apps = [NSRunningApplication
                 runningApplicationsWithBundleIdentifier:@"Your App BundleID"];
[(NSRunningApplication*)[apps objectAtIndex:0]
 activateWithOptions: NSApplicationActivateIgnoringOtherApps];

[[NSApplication sharedApplication] activateIgnoringOtherApps : YES];