Cocoa를 사용하여 보조 모니터에 OS X 창 전체 화면 표시
-
03-07-2019 - |
문제
Cocoa Mac 앱에서 작업중인 2 차 모니터 인 전체 화면에 창/보기를 표시해야합니다. 보조 모니터로 드래그 할 수있는 창을 만드는 방법을 알고 있지만, 프로그래밍 방식으로 창을 만들고 외부 모니터에서 전체 화면을 만들고 싶었습니다. 도와 주셔서 감사합니다.
해결책
먼저 [NSScreen 화면]을 반복하여 사용할 화면을 결정하십시오.
다음과 같이 전체 화면 창을 만듭니다.
NSScreen *screen = /* from [NSScreen screens] */
NSRect screenRect = [screen frame];
NSWindow *window = [[NSWindow alloc] initWithContentRect:screenRect
styleMask:NSBorderlessWindowMask
backing:NSBackingStoreBuffered
defer:NO
screen:screen];
[window setLevel: CGShieldingWindowLevel()];
Google CGDisplayCapture ()도 원할 수도 있습니다.
다른 팁
전체 화면 창 애니메이션은 고르지 않으며 제 생각에는 좋아 보이지 않습니다. 전체 화면보기가 훨씬 부드럽습니다.
이 시도:
- (void)toggleMyViewFullScreen:(id)sender
{
if (myView.inFullScreenMode) {
[myView exitFullScreenModeWithOptions:nil];
} else {
NSApplicationPresentationOptions options =
NSApplicationPresentationHideDock |
NSApplicationPresentationHideMenuBar;
[myView enterFullScreenMode:[NSScreen mainScreen] withOptions:@{
NSFullScreenModeApplicationPresentationOptions : @(options) }];
}];
}
}
창 메뉴 (NIB에 삽입 한 후)의 전체 화면 메뉴 항목에 이것을 연결할 수 있지만 메뉴 항목이 ToggleMyViewfullScreen으로 발사되는 동작을 변경하십시오. 또는 ToggleMyViewfullScreen을 프로그래밍 방식으로 또는 앱을로드 할 때 호출 할 수 있습니다.
제휴하지 않습니다 StackOverflow