支持以前iOS版本和弃用方法功能的最佳方法

时间:2012-03-27 21:03:13

标签: iphone ios ipad uiimage image-resizing

stretchableImageWithLeftCapWidth:topCapHeight:用于调整大小图像的方法(iOS低于5.0),但在iOS 5中不推荐使用该方法,iOS 5使用新方法resizableImageWithCapInsets:

支持在低于5且低于5的iOS中调整大小图像的最佳方法是什么? 我知道的第一件事是使用responseToSelector方法。但也许有人知道其他例子。

1 个答案:

答案 0 :(得分:0)

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

我会用这样的东西:

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];
}