iphone - 支持旧版本iOS和过时方法的功能的最佳方法

标签 iphone ios ipad uiimage image-resizing

StretchableImageWithLeftCapWidth:topCapHeight:是用于调整图像大小(iOS低于5.0)的方法,但是在iOS 5中,该方法已弃用,iOS 5具有新的resizableImageWithCapInsets:
在iOS中支持小于5且小于5的尺寸调整图像大小的最佳方法是什么?
我知道的第一件事是使用responseToSelector方法。但是也许有人知道另一个例子。

最佳答案

支持版本通常非常简单,唯一要避免的陷阱是使用条件构建来确定要支持的功能,因为这将要求您为每个版本使用特定的二进制文件。

我会用这样的东西:

NSString* featureVersion = @"5.0";
NSString* systemVersion = [[UIDevice currentDevice] systemVersion];
if ([currSysVer compare:reqSysVer options:NSNumericSearch] != NSOrderedAscending)
{
     [object someIOS5SpecificMethod];
}
else
{
     [object alternateMethod];
}

要使用特定于版本的类,您可以始终使用类似于以下内容的类:
Class class = NSClassFromString(@"iOS5OnlyClass");
if (class)
{
   id object = [[class alloc] init];
}

关于iphone - 支持旧版本iOS和过时方法的功能的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9897680/

相关文章:

java - 驱动 Api 电话

iphone - ViewController 没有响应 didRotateFromInterfaceOrientation

iphone - 我如何在给定时间段内运行任务?

iphone - 尝试使用 didSelectAnnotationView 和 didDeselectAnnotationView 对 subview 进行动画处理

ios - 如何用一次性发布者包装委托(delegate)模式?

ios - 如何添加带有两个按钮的单元格

ios - 托管对象数据一对多写数据

ios - CGBitmapInfo 值在 iOS 上的表现

ios - 如何在 SpriteKit 上制作切换按钮

iPhone 和 iPad 应用程序(同名 - 两个项目)...?