有縱向和橫向沒有後綴。你將不得不手動檢查方向與[[UIDevice currentDevice] orientation]
。
爲了顯示iPad和iPhone/iPod Touch的不同圖像,您可以將~ipad
添加到iPad圖像的末尾,並將~iphone
添加到iPhone/iPod Touch圖像的末尾。例如:
默認〜iphone.png將在iPhone/iPod Touch和默認加載〜ipad.png將在iPad上加載此:
[UIImage imageNamed:@"Default.png"];
還爲iPhone 5沒有說明符雖然。所以你必須檢查[[UIScreen mainScreen] bounds].size.height
並再次手動加載UIImage
。
FULL(未經測試)例:
UIImage *image;
if ([UIScreen mainScreen].bounds.size.height == 568.0)
{
if (UIInterfaceOrientationIsLandscape([[UIApplication sharedApplication] statusBarOrientation]))
{
image = [UIImage imageNamed:@"Default-568h-Landscape"];
}
else
{
image = [UIImage imageNamed:@"Default-568h-Portrait"];
}
}
else
{
if (UIInterfaceOrientationIsLandscape([[UIApplication sharedApplication] statusBarOrientation]))
{
image = [UIImage imageNamed:@"Default-Landscape"];
}
else
{
image = [UIImage imageNamed:@"Default-Portrait"];
}
}
// check suggested by Guy Kogus
if (image == nil) image = [UIImage imageNamed:@"Default"];
要回答你的問題的意見:
不,你不能在運行時查詢使用的是什麼啓動圖像。
有一個用於縱向或橫向的後綴。如果你想看一定的話,創建一個虛擬項目,並有2個圖像,一個1024x768,另一個768x1024。轉到項目設置並拖動啓動圖像部分中的圖像,您會看到Xcode自動使用所需的-Landscape或-Portrait後綴命名它們(或者足夠了嗎?)。 –
是的,但我不認爲在使用' - [UIImage imageNamed:]' –
時工作不行,您必須手動添加這些後綴。但這很容易,你只需要使用狀態欄的方向。 –