0

我从谷歌搜索得到这段代码,但 XCode 显示错误:“在对象类型 'NSScreen *' 上找不到属性 'backingScaleFactor'”

CGFloat displayScale = 1.0f;
if ([[NSScreen mainScreen] respondsToSelector:@selector(backingScaleFactor)]) 
{

       displayScale = [NSScreen mainScreen].backingScaleFactor;
}
4

2 回答 2

1

使用[[NSScreen mainScreen] backingScaleFactor]并确保您正在为 OS X 10.7 SDK 构建,部署目标设置为 10.6。

于 2012-07-05T12:22:40.437 回答
-1

不能因为backingScaleFactor属性在 OS X v10.7 和更高版本中可用。请参阅Apple 文档。更改为 SDK 10.7(或更高版本)也无济于事。因为如果您使用仅存在于 10.7 上的 API,则不会出现构建警告,但应用程序会在 10.6 启动时崩溃。见这里

编辑:您可以使用if ([[NSScreen mainScreen] respondsToSelector:@selector(backingScaleFactor)])并且您的应用程序不会崩溃,但这是另一件事的另一种做法,并且绝对无法实现您的目标。

如果您描述了您正在尝试做什么以及为什么需要,backingScaleFactor我会尝试帮助您解决一些技巧和技巧。

于 2016-05-09T14:56:55.890 回答