0

我正在尝试使用情节提要为 iOS7 和 iOS6 提供支持。我为 iOS7 设计了一个自定义 barbuttonitem,如下所示:

自定义iOS7 barbuttonitem

它看起来很好。问题是如何为 iOS6 的 barbuttonitem 指定另一个图像。显然 iOS6 和 iOS 7 的图像需要不同的尺寸。iOS 6 按钮如下所示:

barbuttonitem的iOS6渲染

你如何在故事板中做到这一点?是否有某种后缀或命名约定来允许将 iOS7 图像与 iOS6 图像区分开来?

谢谢吉姆

4

2 回答 2

0

对于类似的事情,您可能需要根据正在运行的版本以编程方式更改外观。

我用过这样的东西:

#define IS_IOS_6 ([[UIDevice currentDevice].systemVersion hasPrefix:@"6"])
// or
// #define IS_IOS_6 (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1)

if (IS_IOS_6) {
    [self.barButtonItem setBackgroundImage:ios6Image forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
} else {
    [self.barButtonItem setBackgroundImage:ios7Image forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
}
于 2013-09-30T17:44:47.430 回答
0

您可以使用它来加载基于 iOS 版本的不同图像。

if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) {

// Load resources for iOS 6.1 or earlier

} 

else {

// Load resources for iOS 7 or later

}
于 2013-09-30T17:51:12.710 回答