我的任务是制作一个在 iOS 4.0 中运行的应用程序再次在 3.1.3 和 3.2 中运行。大多数情况下,它很简单,但处理新 API 的扩展和其他必须传递/返回值的情况很困难。
respondsToSelector/performSelector 几乎负责所有其他事情。
这是正在发生的事情的简化版本:
-(float)getImageScaleFactor
{
if([[UIScreen mainScreen] scale == 2.0)
return kScaleFactorForRetinaDisplay;
else
return kScaleFactorForOlderDisplay;
}
4.0 之前的 iOS 中没有scale。
谁能展示一个适用于所有版本 iOS 的代码示例?
我使用非常相似的代码,但你缺少一个重要的部分:respondsToSelector:
if([[UIScreen mainScreen] respondsToSelector:@selector(scale)] && [UIScreen mainScreen].scale == 2.0f)
return kScaleFactorForRetinaDisplay;
else
return kScaleFactorForOlderDisplay;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)