大家都知道全屏需要调用方法:[window toggleFullScreen:sender];
但是有些时候不生效,这时需要在初始化的时候设置window的Behavior,如下
[window setCollectionBehavior: NSWindowCollectionBehaviorFullScreenPrimary];
之后再调用:[window toggleFullScreen:sender] 即可生效.
AppDelegate中实现NSWindowDelegate
里面需要监听两个方法,作为自己内部场景交替或者布局的变更.
- (void)windowWillEnterFullScreen:(NSNotification *)notification;
- (void)windowDidEnterFullScreen:(NSNotification *)notification;
备注:
代码层次,不使用InterfaceBuilder
Full Screen 有两种模式,分别为 NSWindowCollectionBehaviorFullScreenPrimary 和 NSWindowCollectionBehaviorFullScreenAuxiliary,其中多数时候只需要使用 NSWindowCollectionBehaviorFullScreenPrimary 即可。
在设置 NSWindowCollectionBehaviorFullScreenPrimary 后,就会在相应的 Window 右上角显示一个全屏按钮,用户通过这个按钮就可以切换程序到全屏方式使用。
但是有些时候不生效,这时需要在初始化的时候设置window的Behavior,如下
[window setCollectionBehavior: NSWindowCollectionBehaviorFullScreenPrimary];
之后再调用:[window toggleFullScreen:sender] 即可生效.
AppDelegate中实现NSWindowDelegate
里面需要监听两个方法,作为自己内部场景交替或者布局的变更.
- (void)windowWillEnterFullScreen:(NSNotification *)notification;
- (void)windowDidEnterFullScreen:(NSNotification *)notification;
备注:
代码层次,不使用InterfaceBuilder
Full Screen 有两种模式,分别为 NSWindowCollectionBehaviorFullScreenPrimary 和 NSWindowCollectionBehaviorFullScreenAuxiliary,其中多数时候只需要使用 NSWindowCollectionBehaviorFullScreenPrimary 即可。
在设置 NSWindowCollectionBehaviorFullScreenPrimary 后,就会在相应的 Window 右上角显示一个全屏按钮,用户通过这个按钮就可以切换程序到全屏方式使用。