0

ストーリーボードを使用して、iOS7 と iOS6 の両方をサポートしようとしています。次のような iOS7 用のカスタム barbuttonitem を設計しました。

カスタム iOS7 バーボタン項目

見た目は問題ありません。問題は 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 に答える