gpt4 book ai didi

objective-c - 使用 [NSBundle loadNibNamed :owner:] but the window does not appear in the foreground 加载 NIB

转载 作者:搜寻专家 更新时间:2023-10-30 20:12:53 25 4
gpt4 key购买 nike

我编写了一个没有持久窗口或标准菜单的菜单应用程序。当另一个应用程序获得焦点并且我使用 menulet 触发窗口打开时,它出现在前台应用程序的后面(但在屏幕上出现的任何其他应用程序之上)。

基本上...

-(IBAction)aboutWindow:(id)sender {
[NSBundle loadNibNamed:@"About" owner:self];
}

任何人都可以指出正确的方向,以便我可以让这个窗口在最初生成时显示在所有其他应用程序之上吗?

[编辑]

我已经尝试使用自定义的 NSWindowController 和链接的窗口,并使用 awakeFromNib 调用 makekeyandorderfront 方法,但这没有做任何事情。

我现在有代替 NSBundle 的调用:

NSWindowController* awc = [[NSWindowController alloc] initWithWindowNibName:@"About"];
[[awc window] makeKeyAndOrderFront:nil];

这会生成窗口,但仍不会出现在前台

最佳答案

想通了。窗口没有问题,是应用程序出了问题。它不在前景中,因为它的性质是在生成此菜单之前没有窗口的小菜单。最终代码:

-(IBAction)aboutWindow:(id)sender {
NSWindowController* awc = [[NSWindowController alloc] initWithWindowNibName:@"About"];
[[awc window] makeKeyAndOrderFront:nil];
[[NSApplication sharedApplication] arrangeInFront:nil];
}

关于objective-c - 使用 [NSBundle loadNibNamed :owner:] but the window does not appear in the foreground 加载 NIB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2714135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com