2013-09-30 46 views
0

我試圖用故事板爲iOS7和iOS6提供支持。我已經專爲iOS7定製barbuttonitem它看起來像這樣:IOS 7/IOS 6自定義工具欄barbuttonitem

custom iOS7 barbuttonitem

它看起來就好了。問題是如何爲iOS6的barbuttonitem指定另一個圖像。顯然,iOS6和iOS 7圖像需要不同的尺寸。在iOS 6的按鈕看起來是這樣的:

iOS6 rendering of barbuttonitem

如何在故事板做到這一點?是否有某種後綴或命名約定可以將iOS7圖像與iOS6圖像區分開來?

感謝吉姆

回答

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

是的,這似乎是使這項工作的唯一方法。我也查看了圖片資產目錄,並且它不支持不同的iOS按鈕項目選項。 – svjim

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 

}