[英]iOS 8: Launch Screen StoryBoard appears black [single XIB file works fine]
所以我嘗試使用本教程為我的 iOS 8 應用程序創建一個啟動故事板
但是,當我啟動我的應用程序時,我只會出現黑屏。 單個啟動 screen.xib 文件運行良好,但是,當我嘗試使用故事板時,它不起作用。
我嘗試了一個只有一個視圖控制器的故事板,但它仍然給我一個黑屏,因此我認為問題在於我的設置中的故事板文件。 有任何想法嗎?
[XCode 6.4 版]
編輯:所以我只想澄清一下,它是顯示為黑色的啟動屏幕。 應用程序加載完成后,主故事板本身會正確顯示
通讀教程並測試它,它沒有說兩件事:
1:您需要將一個UIViewController
添加到您的.storyboard
文件中,然后選擇它作為初始控制器。
2:如果您想更改的不僅僅是啟動屏幕,您必須轉到項目設置並將“主界面”設置為相應的.storyboard
。
完成后,您需要做的就是編輯 UIButton/Label/etc 與 ViewController 類的連接。
編輯:
為了澄清起見,您可以通過在其各自的故事板文件中選擇它,然后打開 Attributes Inspector,將 UIView 設置為初始控制器。 “是初始控制器”的選項位於中間。
沒有一個答案包含所需的所有步驟,因此這是一個詳盡的解決方案。
首先創建LaunchScreen.storyboard 。 Xcode > File > New > File... > Storyboard > LaunchScreen.storyboard 並將其添加到所有適當的目標。
在這個故事板中,創建一個UIViewController
類型的單一視圖控制器。 執行啟動屏幕所需的所有魔法,然后按照以下步驟操作:
LaunchScreen.storyboard
> 顯示文件檢查器 >用作啟動屏幕
LaunchScreen.storyboard
> 視圖控制器 > 顯示屬性檢查器 >是初始視圖控制器
項目 > 常規 > 部署信息 > 主界面 > LaunchScreen
對 [iPhone] 和 [iPad] 重復
項目 > 常規 > 應用程序圖標和啟動圖像 > 啟動屏幕文件 > LaunchScreen
如果設置得當,你的Info.plist應該有LaunchScreen .storyboard,沒有根據的.storyboard UILaunchStoryboardName
& UIMainStoryboardFile
屬性:
<key>UILaunchStoryboardName</key> <string>LaunchScreen</string> <key>UIMainStoryboardFile</key> <string>LaunchScreen</string>
筆記:
LaunchScreen.storyboard
和Main.storyboard
。 一個用於啟動,另一個用於您的應用程序入口點。 他們都需要設置初始視圖控制器。在您用於啟動的故事板中,請確保您為其中存在的單個視圖控制器選擇了初始視圖控制器選項。
確保您設置了入口點,並在您的一般信息中點擊確保您將視圖設置為從筆尖調整大小。 還要確保在您的常規選項卡中設置了啟動點。 在部署信息中。
希望這可以幫助
在這上面花了太長時間,感謝 Apple! 我終於發現我必須刪除視圖控制器中的實際 UIImageView - 不僅僅是圖像 - 才能更改為不同的圖像。 嘗試重命名圖像,以各種不同的方式替換它們,刪除緩存,從設備中刪除應用程序,在構建之前進行清理。 就我所見,原始圖像從任何地方消失了,但它仍然會出現。 最后,我在視圖控制器的頂部添加了一個新的 UIImageView 並拍攝了一張新圖像。 然后我只是刪除了舊的 UIImageView,一切都很好。
解決方案是使用不帶擴展名 png 的圖像名稱。
例如,如果您的圖像文件名為“img.png”,則僅使用“img”。
這將在編輯器中將圖像顯示為無效 (?),但會在運行時正確顯示。
發生這種情況是因為 LaunchScreen.storyboard 僅接受 Assets.xcassets 中的圖像,並且引用 Assets.xcassets 中圖像的方式是不帶擴展名的資源名稱。
我認為使用不帶擴展名的名稱是一種可行的解決方法。
您是否正確地在部署信息中將主界面設置為“主要”(故事板名稱)?
本地化我的應用程序后,我看到了黑屏而不是飛濺。 在 LaunchScreen.storyboard 的文件檢查器的本地化部分,我只有一個本地化的勾號。 所以,我為第二個本地化添加了一個勾號,這解決了這個問題。
@SwiftArchitect 和其他人的回答很好,但我一直看到黑色的啟動屏幕而不是我的啟動故事板。
問題最終是我的故事板失去了與目標的連接。
當我創建它時,我將它移動到項目導航器中的不同組/目錄中,以保持整潔。 大錯! 這將它與目標斷開連接......它現在所在的組/目錄是否連接到目標並不重要!
您可以在位於以下位置的下拉菜單中分辨出不同之處:
Project > General > App Icons and Launch Images > Launch Screen File
當您打開該菜單時,您應該會看到您的故事板作為單擊選項。
不要手動輸入您的故事板名稱- 這表明目標成員資格不正確。
我也在嘗試添加一個啟動屏幕,這個過程讓它出現(謝謝!),但現在應用程序掛在那里,沒有移動到 Main.storyboard 和 viewDidLoad。 我有這個:
如果我將第二個 LaunchScreen 更改為 Main,我確實可以訪問 viewDidLoad 和應用程序的主屏幕,但沒有 LaunchScreen。
sim 和 device 都這樣做。 在 LaunchScreen 之后,我缺少什么才能進入 Main?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.