2017-04-04 81 views
1

我希望我的應用具有不同的啓動圖像,當以縱向對比縱向對比橫向對比橫向對比橫向對齊進行啓動時。那可能嗎?我可以爲四個方向分別啓動圖像嗎?

我願意用任何如下:

  • 啓動故事情節
  • 啓動映像在資產目錄
  • 啓動圖像作爲普通的PNG文件

要知道爲什麼這是必要的,退出Camera.app,然後在橫向左側和方向上啓動它。請注意啓動圖像,具體來說,快門按鈕在左右兩個方向都位於主屏幕按鈕附近。

這是可能的,只有當它有單獨的啓動圖像/故事板橫向左右。如果它只有一個,則快門按鈕將以一個方向出現在主屏幕按鈕旁邊,並在另一個方向出現在揚聲器旁邊(屏幕頂部)。

Camera.app似乎有四個不同的啓動圖像。我怎麼也有四個呢?


編輯: 基於公認的答案,我嘗試添加下列啓動圖像(無需添加在Info.plist中的任何東西):

enter image description here

在我的iPhone 7另外,它的工作原理正確地在肖像,左景觀和右景觀。不是當手機倒置時,在這種情況下會顯示肖像啓動圖像,然後顯示實際UI顯示時看起來像180度旋轉的圖像。爲了證實這一點,我在人像顛倒的發射圖像中畫了一個大紅色的矩形,當我運行應用程序時,我沒有看到這個紅色的矩形,所以我可以確認圖像顛倒發射圖像文件isn'根本不用。你知道爲什麼嗎?你看到文件名有什麼問題嗎?


編輯2:我添加了以下內容的Info.plist:

<key>UILaunchImages</key> 
<array> 
    <!-- 5.5-inch: --> 
    <dict> 
    <key>UILaunchImageName</key> 
    <string>Default</string> 
    <key>UILaunchImageMinimumOSVersion</key> 
    <string>7.0</string> 
    <key>UILaunchImageSize</key> 
    <string>{414, 736}</string> 
    <key>UILaunchImageOrientation</key> 
    <string>Portrait</string> 
    </dict> 

    <dict> 
    <key>UILaunchImageName</key> 
    <string>Default</string> 
    <key>UILaunchImageMinimumOSVersion</key> 
    <string>7.0</string> 
    <key>UILaunchImageSize</key> 
    <string>{414, 736}</string> 
    <key>UILaunchImageOrientation</key> 
    <string>PortraitUpsideDown</string> 
    </dict> 

    <dict> 
    <key>UILaunchImageName</key> 
    <string>Default</string> 
    <key>UILaunchImageMinimumOSVersion</key> 
    <string>7.0</string> 
    <key>UILaunchImageSize</key> 
    <string>{414, 736}</string> 
    <key>UILaunchImageOrientation</key> 
    <string>LandscapeLeft</string> 
    </dict> 

    <dict> 
    <key>UILaunchImageName</key> 
    <string>Default</string> 
    <key>UILaunchImageMinimumOSVersion</key> 
    <string>7.0</string> 
    <key>UILaunchImageSize</key> 
    <string>{414, 736}</string> 
    <key>UILaunchImageOrientation</key> 
    <string>LandscapeRight</string> 
    </dict> 

    <!-- 4.7-inch: --> 
    <dict> 
    <key>UILaunchImageName</key> 
    <string>Default</string> 
    <key>UILaunchImageMinimumOSVersion</key> 
    <string>7.0</string> 
    <key>UILaunchImageSize</key> 
    <string>{375, 667}</string> 
    <key>UILaunchImageOrientation</key> 
    <string>Portrait</string> 
    </dict> 

    <dict> 
    <key>UILaunchImageName</key> 
    <string>Default</string> 
    <key>UILaunchImageMinimumOSVersion</key> 
    <string>7.0</string> 
    <key>UILaunchImageSize</key> 
    <string>{375, 667}</string> 
    <key>UILaunchImageOrientation</key> 
    <string>PortraitUpsideDown</string> 
    </dict> 

    <dict> 
    <key>UILaunchImageName</key> 
    <string>Default</string> 
    <key>UILaunchImageMinimumOSVersion</key> 
    <string>7.0</string> 
    <key>UILaunchImageSize</key> 
    <string>{375, 667}</string> 
    <key>UILaunchImageOrientation</key> 
    <string>LandscapeLeft</string> 
    </dict> 

    <dict> 
    <key>UILaunchImageName</key> 
    <string>Default</string> 
    <key>UILaunchImageMinimumOSVersion</key> 
    <string>7.0</string> 
    <key>UILaunchImageSize</key> 
    <string>{375, 667}</string> 
    <key>UILaunchImageOrientation</key> 
    <string>LandscapeRight</string> 
    </dict> 

    <!-- 4-inch: --> 
    <dict> 
    <key>UILaunchImageName</key> 
    <string>Default</string> 
    <key>UILaunchImageMinimumOSVersion</key> 
    <string>7.0</string> 
    <key>UILaunchImageSize</key> 
    <string>{320, 568}</string> 
    <key>UILaunchImageOrientation</key> 
    <string>Portrait</string> 
    </dict> 

    <dict> 
    <key>UILaunchImageName</key> 
    <string>Default</string> 
    <key>UILaunchImageMinimumOSVersion</key> 
    <string>7.0</string> 
    <key>UILaunchImageSize</key> 
    <string>{320, 568}</string> 
    <key>UILaunchImageOrientation</key> 
    <string>PortraitUpsideDown</string> 
    </dict> 

    <dict> 
    <key>UILaunchImageName</key> 
    <string>Default</string> 
    <key>UILaunchImageMinimumOSVersion</key> 
    <string>7.0</string> 
    <key>UILaunchImageSize</key> 
    <string>{320, 568}</string> 
    <key>UILaunchImageOrientation</key> 
    <string>LandscapeLeft</string> 
    </dict> 

    <dict> 
    <key>UILaunchImageName</key> 
    <string>Default</string> 
    <key>UILaunchImageMinimumOSVersion</key> 
    <string>7.0</string> 
    <key>UILaunchImageSize</key> 
    <string>{320, 568}</string> 
    <key>UILaunchImageOrientation</key> 
    <string>LandscapeRight</string> 
    </dict> 

    <!-- 3.5-inch: --> 
    <dict> 
    <key>UILaunchImageName</key> 
    <string>Default</string> 
    <key>UILaunchImageMinimumOSVersion</key> 
    <string>7.0</string> 
    </dict> 

    <dict> 
    <key>UILaunchImageName</key> 
    <string>Default</string> 
    <key>UILaunchImageMinimumOSVersion</key> 
    <string>7.0</string> 
    </dict> 

</array> 

這使事情變得更糟 - 我看到當手機在橫向使用伸出來的肖像啓動圖像。

請注意,所有的UILaunchImageName鍵都設置爲Default,依靠iOS來消除它們的歧義。我也嘗試將PNG重命名爲[email protected],並將UILaunchImageName設置爲Default-portrait-顛倒。它沒有任何區別。

+0

您是否爲iPhone啓用了顛倒的方向?它在iPhone的Info.plist中被默認禁用。 –

+0

我已啓用它。正如我所說的,實際的用戶界面不會以縱向倒影的方式顯示。只有啓動圖像沒有。 –

+0

除了嘗試使用UILaunchImage鍵代替外,我沒有任何其他建議。 –

回答

2

我相信你可以爲每個方向指定一個單獨的啓動圖像。 iOS(自7.0版以來)支持Info.plist密鑰UILaunchImages。該值是一個字典數組。每個字典描述一個啓動圖像。字典可以包含一個鍵UILaunchImageOrientation,其值可以是四個方向中的任何一個。

有關詳細信息,請參閱Information Property List Key Reference

+0

資產目錄有可能嗎?我目前使用一個,並且找不到一種方法來執行此操作。 –

+0

我沒有看到使用資產目錄的任何文檔或Info.plist設置,但您並不需要僅僅因爲有一個圖像就將所有圖像放入目錄。 –

+0

謝謝。就我而言,消除資產目錄並只有原始圖像更簡單。你是否知道所有後綴圖像可以像@ 2x這樣的引用,以及哪些後綴在文件名中是必需的,並且在plist條目中是必需的?許多堆棧溢出問題已斷開與Apple文檔的鏈接,這些文檔在資產目錄和啓動故事板引入時已被刪除。 –

相關問題