cocos2d mac项目警报窗口在全屏模式下位于主窗口下方

时间:2012-12-23 09:31:44

标签: objective-c macos cocos2d-iphone fullscreen

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

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]的zOrder设置为MaxInteger,但仍未显示在顶部。

这里有什么不对吗?

1 个答案:

答案 0 :(得分:2)

我会用这个NSAlert的方法来呈现它:

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

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

编辑

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

[[NSRunningApplication currentApplication] activateWithOptions:NSApplicationActivateIgnoringOtherApps];
[alert runModal];