我从Googling获取此代码,但XCode显示错误:“对象类型'NSScreen *'上找不到属性'backingScaleFactor'”
CGFloat displayScale = 1.0f;
if ([[NSScreen mainScreen] respondsToSelector:@selector(backingScaleFactor)])
{
displayScale = [NSScreen mainScreen].backingScaleFactor;
}
答案 0 :(得分:1)
使用[[NSScreen mainScreen] backingScaleFactor]
并确保您正在为OS X 10.7 SDK构建,部署目标设置为10.6。
答案 1 :(得分:-1)
您无法,因为OS X v10.7及更高版本中提供了backingScaleFactor
属性。见Apple documentation。
更改为SDK 10.7(或更高版本)也不会有帮助。因为如果您使用仅存在于10.7上的API,则不会出现构建警告,但应用程序将在10.6启动时崩溃。请参阅here。
编辑:您可以使用if ([[NSScreen mainScreen] respondsToSelector:@selector(backingScaleFactor)])
并且您的应用程序不会崩溃,但这是另一种做法的另一种做法,并且肯定地无法实现您的尝试到。
如果您描述了您正在尝试做什么以及为什么需要backingScaleFactor
我会尝试帮助您解决一些技巧和黑客行为。