使用全屏mac应用程序。我使用webView显示一些天气相关的信息。无法向所有连接的监视器屏幕显示相同的WebView内容,例如它出现在主屏幕上(不使用Airplay-mirroring
)。 目前我只能设置其他显示器的壁纸。通过使用([NSScreen屏幕]) 有人请告诉我一些东西?谢谢。Mac osx - 如何向所有连接的显示器显示相同的应用程序内容
1
A
回答
1
这很简单。我搜索了很多相关的东西,比如“CGDisplayCapture”和“CGShieldingWindowLevel()”,但在我的情况下没有必要这样做。
1 ..下面一行会给你所有连接的屏幕
for (NSScreen *screen in [NSScreen screens]) { }
2 ..现在发现屏幕尺寸,因为连接显示器时可能有不同的屏幕尺寸,那么当前屏幕。或Alloc与当前屏幕和当前屏幕尺寸的新窗口,parameter--
// Draw a new window to fill the screen
NSRect screenRect = CGRectMake(0, 0, screen.frame.size.width , screen.frame.size.height);
secondaryMonitorWindow = [[NSWindow alloc] initWithContentRect:screenRect styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:NO screen:screen];
3。在我的情况下,桌面上的图标应该是在窗口中看到,所以我设置窗口的水平kCGDesktopWindowLevel。并制作了这个窗口“makeKeyAndOrderFront”。
4.我们不能将任何视图作为子视图添加到多个窗口。新窗口需要与我的主屏幕窗口相同的视图。所以我创建了同样的观点的副本与本 -
id copyOfView = [NSKeyedUnarchiver unarchiveObjectWithData:[NSKeyedArchiver archivedDataWithRootObject:self.webView]];
5 ..分配相同屏幕尺寸的框架这一观点,并添加了这个新的窗口。
[copyOfView setFrame:screenRect];
[secondaryMonitorWindow.contentView addSubview:(WebView*)copyOfView];
其完成。现在对两个显示器都进行相同的更改,必须对两个窗口对象进行更改。
相关问题
- 1. 如何在WebView中显示NSString内容(Cocoa Mac应用程序)
- 2. 如何检查显示器是否是Mac OSX上的内置显示器?
- 3. AppStore显示相同的应用程序
- 4. 如何显示LinkedList的所有内容?
- 5. jQuery的UI标签:所有标签显示相同的内容
- 6. 应用程序冻结,然后立即显示所有内容
- 7. ListView显示所有内容
- 8. 应用程序图标不显示在MAC OSX 10.5为我的应用程序
- 9. Google Maps API V3 infoWindow - 显示相同内容的所有infoWindows
- 10. 多个域指向单轨应用程序显示具有相同的url路径不同的内容
- 11. 如何创建在桌面/背景上显示内容的Mac应用程序?
- 12. git分支显示相同的内容
- 13. 如何阻止两次显示相同内容的回显?
- 14. 如何显示在同一Wi-Fi连接的所有IP和MAC地址
- 15. android应用程序显示的内容不同于ADT
- 16. 在ASP.NET中连续显示所有项目的所有内容
- 17. 如何显示不同或所有类别的内容?
- 18. 如何让Android应用程序显示网站上的内容?
- 19. Android应用程序显示来自通过WiFi连接的PC的内容
- 20. 如何显示升序或降序对MySQL的显示内容
- 21. 如何显示所连接的屏幕从我们的应用程序
- 22. 相同的内容不显示在不同的浏览器
- 23. 如何显示不同的内容?
- 24. 没有真正的iAd内容显示在应用程序
- 25. 如何用显示它的相同按钮隐藏内容?
- 26. 使用Invoke-WebRequest显示所有内容
- 27. 所有的Android设备都会显示相同的应用程序名称吗?
- 28. 使用UIImagePickerController显示相同的默认相机应用程序
- 29. 如何使HTML页面对所有显示器都显示相同?
- 30. 从同一格内的表中显示所有相同的值
你不应该这样做,因为它会干扰我使用其他显示器。我有两台显示器,因为我希望能够在全屏模式下运行两个不同的应用程序,每个显示器上一个。除此之外,创建两个窗口。但是,如果人们不喜欢它,不要感到惊讶。 – gnasher729
搜索abt后,我发现我们可以使用“Mini DisplayPort to VGA Adapter”连接多台显示器。在拥有多个屏幕后,我们可以将任何在主屏幕中打开的窗口放置到其他显示器上。但不知道如何以编程方式使用辅助监视器。我们可以通过代码打开辅助监视器上的任何窗口 – Yogendra