我的任务是让在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中。
任何人都可以展示适用于所有iOS版本的代码示例吗?
答案 0 :(得分:2)
我使用的代码非常相似,但您遗漏了一个重要部分:respondsToSelector:
if([[UIScreen mainScreen] respondsToSelector:@selector(scale)] && [UIScreen mainScreen].scale == 2.0f)
return kScaleFactorForRetinaDisplay;
else
return kScaleFactorForOlderDisplay;