2013-09-30 27 views
1

基本上,我希望我的應用可以通過應用程序設置更改其啓動屏幕。設置保存在plist文件中。iOS,通過代碼更改啓動屏幕

其實它是關於不同的語言,我想我能用戶選擇我的應用程序的語言,即使它與系統的首選語言不同。

可能嗎?我搜索了一些答案,建議使用另一個視圖控制器來模擬閃屏,但我的閃屏本身需要一些來加載我的應用程序,而不是我的暫停。所以我應該在真實的啓動畫面中不顯示任何內容?

我不知道是否有一些條件來更改啓動屏幕的方式。

非常感謝你們。

回答

4

啓動屏幕將只顯示只要appDidFinishLoading方法返回YES。一種可能的解決方案是讓你有一個非常簡單的(不可本地化的)啓動畫面,並且基本上什麼也不做,並立即返回YES

然後,您可以使用一個實際的視圖控制器爲動態初始化閃屏和實際上做你的應用程序可能需要在viewDidAppear方法的任何初始化。初始化完成後,您可以繼續並顯示通常是您的根視圖控制器的內容。

編輯: 然而,你也應該考慮,啓動畫面不打算向用戶提供任何類型的內容,如answer所指出的。

+1

注意的是,雖然這是很好的解決方法,你可以運行[與方向問題(http://stackoverflow.com/questions/5789927/query-launch-image-at-runtime)(即,如果你開始應用程序並在調用'applicationDidFinishLaunching:'之前更改方向)。如果你可以通過只支持一個方向或接受這種罕見的故障來生活,這種解決方案是好的。這也是模擬「從飛濺到應用」效果的方式。 – DarkDust

+0

你說得對,一定要注意方向! – micantox

1

Apple沒有提供這樣做的方法,因爲這涉及到修改Info.plist或修改閃屏圖像,這兩者都會破壞您的代碼簽名。這也將打開蠕蟲的非常難看就可以了,如此調整Info.plist可能永遠不會被允許這反過來又意味着你將不能夠動態地更改啓動屏幕除非蘋果通過一些其他手段增加了對明確的支持。但是現在,恐怕你運氣不好。