Pracuję nad aplikacją Cocoa Mac, w której muszę wyświetlać okno/widok na drugim monitorze, pełnoekranowym. Wiem, jak utworzyć okno, które można przeciągnąć na dodatkowy monitor, ale chciałem programowo utworzyć okno i wykonać pełny ekran na zewnętrznym monitorze. Dzięki za pomoc.Wyświetlanie os x okna w trybie pełnoekranowym na monitorze pomocniczym przy użyciu Cocoa
Odpowiedz
Najpierw określ ekran, którego chcesz użyć, wykonując iterację na [ekranach NSScreen].
Tworzenie okna pełnoekranowego z:
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()];
Możesz chcieć google CGDisplayCapture(), jak również.
Możesz zadzwonić pod numer enterFullScreenMode:withOptions:
, aby uzyskać żądane zachowanie.
Zobacz Apple's documentation.
Przeczytaj here i here dla opcji, które można zastosować w tej metodzie. Aby uzyskać listę dostępnych ekranów, można użyć [NSScreen screens]
. Szczegóły: here.
Dziękuję za pomoc. W tym, co starałem się zrobić, myślę, że pierwsze rozwiązanie będzie dla mnie najlepsze, ale będę musiał pamiętać o metodzie widoku na pełnym ekranie. – Austin
Animacje na pełnym ekranie są przerywane i nie wyglądają dobrze w mojej opinii. Widok pełnoekranowy jest znacznie płynniejszy.
Spróbuj tego:
- (void)toggleMyViewFullScreen:(id)sender
{
if (myView.inFullScreenMode) {
[myView exitFullScreenModeWithOptions:nil];
} else {
NSApplicationPresentationOptions options =
NSApplicationPresentationHideDock |
NSApplicationPresentationHideMenuBar;
[myView enterFullScreenMode:[NSScreen mainScreen] withOptions:@{
NSFullScreenModeApplicationPresentationOptions : @(options) }];
}];
}
}
Można połączyć to z pozycji menu na pełnym ekranie w menu Window (po włożeniu że w swojej stalówki), ale pamiętaj, aby zmienić działanie, że pożary pozycji menu do swojej toggleMyViewFullScreen :. Lub możesz wywołać program toggleMyViewFullScreen programowo lub po załadowaniu aplikacji.
- 1. Inicjowanie innego okna przy użyciu scenorysu dla OS X
- 2. Wyświetlanie formularza Windows na monitorze dodatkowym?
- 3. Uruchamiaj aplikację Swift Cocoa przy starcie na OS X 10.11
- 4. Mac OS X Lion: Wykrywanie, czy inna aplikacja działa w trybie pełnoekranowym?
- 5. Uruchamianie witryny w trybie pełnoekranowym
- 6. Ukrywanie tytułu w trybie pełnoekranowym?
- 7. Android powoduje wyświetlenie okna dialogowego w trybie pełnoekranowym
- 8. YotubePlayerSupportFragment w trybie pełnoekranowym w trybie poziomym
- 9. przy użyciu PEAR z MAC OS X
- 10. Aktualizacja rsync na OS X przy użyciu Homebrew
- 11. Dzielenie pliku przy użyciu AWK w systemie Mac OS X
- 12. Jak zablokować kursor wewnątrz okna w systemie Mac OS X?
- 13. Wyjątek NullPointerException przy wprowadzaniu wideo w widoku pełnoekranowym nokia x
- 14. Koncentrują się okna Tkinter na systemie Mac OS X
- 15. YouTube iframe API - Android w trybie pełnoekranowym
- 16. Android 3.1 miękka klawiatura w trybie pełnoekranowym
- 17. Klawiatura otwiera się w trybie pełnoekranowym w trybie poziomym.
- 18. Budowanie aplikacji Mac OS X/Cocoa do dystrybucji zaimportowanym szkieletem
- 19. Witryna na iPada w trybie pełnoekranowym w przeglądarce Safari
- 20. Jak ustawić pozycję okna WPF na ekranie pomocniczym
- 21. pygame z dwoma monitorami i pełnoekranowym
- 22. Określanie widoku w trybie pełnoekranowym OpenGL ES
- 23. Marka YouTube wideo w trybie pełnoekranowym przy użyciu iframe i JavaScript API
- 24. OS X/iOS - konwersja częstotliwości próbkowania bufora przy użyciu AudioConverterFillComplexBuffer
- 25. Udostępnianie tekstu na facebooku i twitterze w aplikacji Cocoa Mac OS X?
- 26. Korzystanie z CameraCaptureUI w systemie Windows 10 w trybie pełnoekranowym
- 27. Postgresql: Jak znaleźć plik pg_hba.conf przy użyciu Mac OS X
- 28. Appbar w stylu Metro w trybie pełnoekranowym WPF
- 29. Jak pozbyć się najwyższej blaknięcie krawędzi w trybie pełnoekranowym Android?
- 30. Jak uzyskać kolor piksela w X, Y przy użyciu C#?
Dziękuję, to zadziałało świetnie. Ponieważ starałem się wyprowadzać na drugi ekran, właśnie użyłem [window setLevel: NSStatusWindowLevel]; – Austin