1

为了让应用程序在用户登录后自动以全屏方式打开,我试图以信息亭模式打开它,以便用户无法关闭它或执行除使用此应用程序之外的任何其他操作。

使用 AppDelegate 中的以下代码,它仅在我手动启动应用程序时才有效,但当应用程序在启动时自动打开时它不会全屏打开(我已将其添加到系统偏好设置、帐户、登录项中):

-(void) awakeFromNib {
    NSApplicationPresentationOptions presentationOptions = (NSApplicationPresentationHideDock |
                                                            NSApplicationPresentationHideMenuBar |
                                                            NSApplicationPresentationDisableAppleMenu |
                                                            NSApplicationPresentationDisableProcessSwitching |
                                                            NSApplicationPresentationDisableForceQuit |
                                                            NSApplicationPresentationDisableSessionTermination |
                                                            NSApplicationPresentationDisableHideApplication);
    NSDictionary *fullScreenOptions = @{NSFullScreenModeApplicationPresentationOptions: @(presentationOptions)};
    [_window.contentView enterFullScreenMode:[NSScreen mainScreen] withOptions:fullScreenOptions];
}

任何想法?谢谢!

4

2 回答 2

0

您的应用可能不是活动应用。应用程序的演示选项仅在其处于活动状态时生效。

您可能需要[NSApp activateIgnoringOtherApps:YES]在进入全屏之前执行此操作。

于 2014-09-02T00:32:10.950 回答
0

您可以尝试调用 NSWindow 的 toggleFullScreen 并限制其视图相对于 NSWindow 的大小增长

于 2014-09-01T22:33:18.857 回答