Objective c 视网膜显示器上的后向比例因子未显示2.0

Objective c 视网膜显示器上的后向比例因子未显示2.0,objective-c,macos,Objective C,Macos,下面是我用来从窗口获取支持比例因子的代码: GCFloat backingScaleFactor = [[NSScreen mainScreen] backingScaleFactor]; NSLog(@"scale factor %.2f", backingScaleFactor); 我在info.plist中也有: <key>NSHighResolutionCapable</key> <true/> NSHighResolutionCapable 我

下面是我用来从窗口获取支持比例因子的代码:

GCFloat backingScaleFactor = [[NSScreen mainScreen] backingScaleFactor];
NSLog(@"scale factor %.2f", backingScaleFactor);
我在info.plist中也有:

<key>NSHighResolutionCapable</key>
<true/>
NSHighResolutionCapable
我还尝试在info.plist中添加上述内容的不同变体,如下所示:

<key>NSHighResolutionCapable</key>
<string>True<string>
NSHighResolutionCapable
真的

NSHighResolutionCapable
真的

我仍然没有得到正确的背景比例因子,即使我在视网膜显示器上。我有另一个应用程序,它为我的backingScaleFactor提供了2.0版本,所以我想知道我是否还缺少什么?

顺便问一下,对于
NSView
,各种
ConvertToBack
方法(无论如何都更可取)如何?这些是否也显示了不正确的值?顺便说一句,如果您必须添加到plist,它是
NSHighResolutionCapable
。顺便说一句,确保在可执行文件的“获取信息”屏幕中没有标记“以低分辨率打开”复选框。或者你可以通过向plist添加
nshighresolutionmagnificallowed
来完全禁用它。我所做的只是做了一个干净的构建,一切正常(我删除了构建文件夹并重新构建)。为了清楚起见,我测试了NSHighResolution值,以确保它确实被读取。所以我不确定问题出在哪里:/当我刚刚测试它时,如果在Finder中选择了“以低分辨率打开”,则无论您是否启用了
NSHighResolutionCapable
。我必须明确取消选中“以低分辨率打开”选项,或将
nshighresolution放大镜降低到
false
。但我很高兴你的解决办法这么简单。
<key>NSHighResolutionCapable</key>
<string>true<string>