Hier finden Sie einige Methoden, die Sie kategorisieren oder verwenden können. Ich verbrachte einige Zeit suchen, wie dies zu tun und dachte, es jemand anderes helfen kann:
Dieser wird Ihnen sagen, wenn Sie sind oder nicht im Vollbildmodus:
@implementation MyWindow
- (void) setStyleMask:(NSUInteger)styleMask {
MyWindowController *wndController = (MyWindowController *)self.windowController;
wndController.fullScreenMode = (styleMask & NSFullScreenWindowMask);
[super setStyleMask:styleMask];
}
@end
Ich gründe ein Eigenschaft in meinem Fenstercontroller.
Denn hier Vollständigkeit ist, was die Kategorie auf NSWindow aussehen würde:
@implementation NSWindow (CategoryNSWindow)
#pragma mark - Full Screen Mode:
- (BOOL) inFullScreenMode {
return (self.styleMask & NSFullScreenWindowMask);
}
@end
Diese beiden Methoden werden die Fähigkeit aktivieren/deaktivieren in oder aus dem Vollbildmodus zu gehen:
- (void) enableFullScreen {
NSWindowCollectionBehavior behavior = [self.window collectionBehavior];
behavior |= NSWindowCollectionBehaviorFullScreenPrimary;
[self.window setCollectionBehavior:behavior];
}
- (void) disableFullScreen {
NSWindowCollectionBehavior behavior = [self.window collectionBehavior];
behavior ^= NSWindowCollectionBehaviorFullScreenPrimary;
[self.window setCollectionBehavior:behavior];
}
Benenne die Methoden wie du willst.
Wahren diejenigen, die wie Benachrichtigungen sind, aber was ich dargestellt ist eine Echtzeit Möglichkeit zu wissen. Auch nicht sicher, ob Sie das wissen, aber wenn Sie windowWillEnterFullScreen erfassen, dann müssen Sie auch den anderen Delegierten für willUseFullScreenContentSize implementieren: Es ist ein bisschen Schmerz, wenn Sie mich fragen. – Arvin