2

我正在为我的 mac 游戏使用 cocos2d。在全屏模式下,警报窗口位于主窗口下方,无法点击。这是我的代码:

NSAlert* alert = [[NSAlert alloc] init];
alert.alertStyle = NSWarningAlertStyle;
[alert addButtonWithTitle:[Helper getLocalizedStringWithString:@"ok"]];
alert.messageText = [Helper getLocalizedStringWithString:@"you need to play through classic game and expert mode"];

switch ([alert runModal]) {
    case NSAlertFirstButtonReturn:
        break;

    default:
        break;
}    

[alert release];

我尝试将[alert window]s zOrder 设置为 MaxInteger,但仍未显示在顶部。

这里有什么问题吗?

4

1 回答 1

2

我会使用这个 NSAlert 的方法来展示它:

- (void)beginSheetModalForWindow:(NSWindow *)window modalDelegate:(id)modalDelegate  
    didEndSelector:(SEL)alertDidEndSelector contextInfo:(void *)contextInfo;

所以你肯定会看到它,因为它附在窗户上。

编辑

如果您仍想将其作为单独的面板,请尝试以下操作:

[[NSRunningApplication currentApplication] activateWithOptions:NSApplicationActivateIgnoringOtherApps];
[alert runModal];
于 2012-12-26T04:07:44.883 回答