在cocoa应用程序中,我在某些事件上调用了一个故事板,例如按钮点击:
NSStoryboard *storyBoard = [NSStoryboard storyboardWithName:@"SendStoryboard" bundle:nil];
NSWindowController *myController = [storyBoard instantiateControllerWithIdentifier:@"SendIdentifier"];
[myController showWindow:nil];
这段代码能够调用故事板,但我不明白为什么它会落后于已经在finder中打开的其他窗口。 请帮我解决问题。我只希望它在每个窗口的顶部。
答案 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];