给定一个在 Mac OS X 10.7 及更高版本上运行的 Cocoa 应用程序:
在运行时检查您的应用程序当前是否在至少连接了一个 Retina 显示器的 Mac 上运行的最佳方法是什么?
如果检查这类事情真的是错误的,我完全欢迎对原因进行合理的解释(如果这些答案很好,我会投赞成票)。
但我还是想知道 :)。
您似乎可以专门针对新的 Mac Book Pro“Retina”硬件(目前唯一具有视网膜显示屏的 Mac)进行检查,但我真的更喜欢更通用/通用/面向 future 的检查方法。
理想情况下,我想知道如何检测视网膜显示屏,而不是目前恰好配备视网膜显示屏的特定 Mac 型号。
最佳答案
如果您确实需要这样做,请查看-[NSScreen backingScaleFactor]
。但是,这看起来确实是错误的,至少在不知道更多关于你想知道的原因的情况下是这样。
虽然目前只有一台 Mac 配备 Retina 显示屏,但最终可能会出现支持 Retina 的独立显示屏(并且可以在运行时连接/分离)并且您可以在 1x 模式下配置内置 Retina 显示屏.因此,“是否连接了 Retina 显示屏”这个问题的答案随时可能发生变化。
相反,您可能想知道您的内容是否应该使用 -convert*ToBacking:
方法或 -[NSWindow backingScaleFactor]
以给定比例绘制。有关更多详细信息,请观看 WWDC 2012 session 视频“OS X 上高分辨率的高级提示和技巧”(发布后,希望在接下来的几周内发布)。
关于objective-c - 苹果操作系统 X : Best way to do runtime check for retina display?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11067066/