iOS 8:启动屏幕StoryBoard显示为黑色
所以我尝试使用本教程为我的iOS 8应用程序创build启动故事板
但是,当我启动我的应用程序时,我只能看到黑屏。 一个启动screen.xib文件完美的工作,但是,当我尝试使用故事板,它不起作用。
我只用一个视图控制器试了一个故事板,但它仍然给我一个黑屏,因此我相信问题是在我的设置中的故事板文件。 有任何想法吗?
[XCode版本6.4]
编辑:所以我只是想澄清,它是黑色的发射屏幕。 主要的故事板本身在应用程序加载完成时正确显示
仔细阅读教程并对其进行testing,并没有说明两件事情:
1:你需要添加一个UIViewController
到你的.storyboard
文件,然后select它作为初始控制器。
2:如果你想改变的不仅仅是启animation面,你必须进入项目设置,并将“主界面”设置为相应的.storyboard
。
一旦完成,你所要做的就是编辑你的ViewController类的UIButton / Label / etc连接。
编辑:
为了说明起见,您可以通过在其相应的故事板文件中selectUIView作为初始控制器,然后打开属性检查器。 “初始控制器”的选项是中间的。
没有一个答案需要所有的步骤,因此这个详尽的解决scheme 。
故事板
从创buildLaunchScreen.storyboard开始。 Xcode> File> New> File …> Storyboard> LaunchScreen.storyboard并将其添加到所有适当的目标。
在这个故事板中,创build一个types为UIViewController
视图控制器。 做你的启动屏幕所需的所有魔法,然后按照下列步骤操作:
-
LaunchScreen.storyboard
>显示文件检查器> 用作启动屏幕 -
LaunchScreen.storyboard
>视图控制器>显示属性检查器> 是初始视图控制器 - 项目>常规>部署信息>主界面> LaunchScreen
重复[iPhone]和[iPad] - 项目>常规>应用程序图标和启动图像>启动屏幕文件>启动屏幕
-
如果安装正确,你的Info.plist应该有LaunchScreen.storyboard ,在
UILaunchStoryboardName
&UIMainStoryboardFile
属性下没有UIMainStoryboardFile
:<key>UILaunchStoryboardName</key> <string>LaunchScreen</string> <key>UIMainStoryboardFile</key> <string>LaunchScreen</string>
笔记:
- 这与使用“启动屏幕文件”>“ 资产”的较旧设备的旧版图像不兼容。
- 特别注意
LaunchScreen.storyboard
和Main.storyboard
。 一个用于启动,另一个用于您的应用程序入口点。 他们都需要设置初始视图控制器 。
在用于启动的故事板中,请确保您已select“ 初始视图控制器 ”选项作为其中存在的唯一视图控制器。
对于在启动屏幕中使用UIImageView的用户
确保在属性检查器中使用不带扩展名的图像名称。
因此,例如,如果您的图像文件名为launcher.png
,则只能使用launcher
作为图像名称。
这将在编辑器中将图像显示为无效(?),但在设备上运行时将显示正确。
(不要问我为什么这样工作,问问苹果。)
我相信我可能有一个类似的问题,需要一些不同的答案。
我在.storyboard文件中创build了一个新的启动屏幕,然后在它没有出现之后,我产生了一个新的.xib文件,这个文件在应用程序启动时仍然没有出现。
我发现在启动屏幕上的一些图像有一个Outlet Collection到一个旧的.swift文件。 从LaunchScree.xib中删除这个启动屏幕后,工作正常。
注意sockets参考 – >中的小警告标志
确保你设置你的入口点,并在你的一般信息点击确保你有视图设置调整从笔尖调整。 还要确保在常规选项卡中设置了启动点。 在部署信息。
希望这可以帮助
花了太多时间在此,谢谢苹果! 我终于发现,我不得不删除我的视图控制器中的实际UIImageView – 不只是图像 – 为了改变到一个不同的图像。 尝试重新命名图像,以各种不同的方式replace它们,删除caching,从设备上删除应用程序,在build筑之前进行清洁。 尽pipe我能看到原始图像,但它仍然会出现。 最后,我在视图控制器的顶部添加了一个新的UIImageView,并拍摄了一个新的图像。 然后,我刚删除旧的UIImageView,一切都很好。
您是否已将“主界面”设置为“部署信息”中的“主”(故事板名称)?
本地化我的应用程序后,我有黑屏而不是我的飞溅。 在LaunchScreen.storyboard的文件检查器的本地化部分,我只有一个本地化的勾号。 所以,我添加了第二个本地化的勾号,这解决了这个问题。