Đối với bất kỳ ai quan tâm đến đây là một số phương pháp bạn có thể phân loại hoặc sử dụng. Tôi dành một chút thời gian tìm kiếm làm thế nào để làm điều này và nghĩ rằng nó có thể giúp người khác ra:
Cái này sẽ cho bạn biết nếu bạn đang hoặc là không ở chế độ toàn màn hình:
@implementation MyWindow
- (void) setStyleMask:(NSUInteger)styleMask {
MyWindowController *wndController = (MyWindowController *)self.windowController;
wndController.fullScreenMode = (styleMask & NSFullScreenWindowMask);
[super setStyleMask:styleMask];
}
@end
Tôi đang thiết lập một tài sản trong bộ điều khiển cửa sổ của tôi.
Đối với đầy đủ ở đây là những gì các loại trên NSWindow sẽ trông như thế:
@implementation NSWindow (CategoryNSWindow)
#pragma mark - Full Screen Mode:
- (BOOL) inFullScreenMode {
return (self.styleMask & NSFullScreenWindowMask);
}
@end
Hai phương pháp này sẽ cho phép/vô hiệu hóa khả năng đi vào hoặc ra khỏi chế độ toàn màn hình:
- (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];
}
Đổi tên phương thức như bạn muốn.
Đúng đó là những như thông báo, nhưng những gì tôi đã trình bày là một cách realtime biết. Ngoài ra không chắc chắn nếu bạn biết điều này, nhưng nếu bạn chụp windowWillEnterFullScreen thì bạn cũng phải thực hiện các đại biểu khác cho willUseFullScreenContentSize: Đó là loại một nỗi đau nếu bạn hỏi tôi. – Arvin