IOS 7 / IOS 6自定义工具栏barbuttonitem

时间:2013-09-30 17:41:13

标签: ios6 ios7 uibarbuttonitem uitoolbar

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

custom iOS7 barbuttonitem

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

iOS6 rendering of barbuttonitem

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

谢谢吉姆

2 个答案:

答案 0 :(得分: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];
}

答案 1 :(得分: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

}