所以我尝试使用this tutorial
为我的iOS 8应用创建启动故事板但是,当我启动应用程序时,我只会看到黑屏。单个启动screen.xib文件工作正常,但是,当我尝试使用故事板时,它不起作用。
我尝试了一个只有一个视图控制器的故事板,但它仍然给我一个黑屏,因此我认为问题在于我的设置中的故事板文件。有什么想法吗?
[XCode版本6.4]
编辑:所以我只是想澄清它是黑色的启动画面。应用程序加载完成后,主故事板本身就会正确显示
答案 0 :(得分:19)
阅读教程并对其进行测试,并没有说明两件事:
1:您需要在UIViewController
文件中添加.storyboard
,然后将其选为初始控制器。
2:如果您希望更改的不仅仅是启动屏幕,则必须转到项目设置并将“主界面”设置为相应的.storyboard
。
完成后,您需要做的就是编辑与ViewController类的UIButton / Label / etc连接。
编辑:
为了澄清,您可以将UIView设置为初始控制器,方法是在其各自的故事板文件中选择它,然后打开属性检查器。 “初始控制器”的选项位于中间位置。
答案 1 :(得分:12)
确保您在属性检查器中使用的图像名称 没有扩展名 。
例如,如果您的图片文件名为 launcher.png
,则只能使用 launcher
作为图片名称。
这会在编辑器中将图像显示为无效(?),但在设备上运行时会正确显示。
(不要问我为什么会这样。问Apple。)
答案 2 :(得分:8)
所有答案都没有所需的所有步骤,因此这个详尽的解决方案。
首先创建 LaunchScreen.storyboard 。 Xcode>文件>新>文件...>故事板> LaunchScreen.storyboard并将其添加到所有适当的目标
在此故事板中,创建类型为UIViewController
的单个视图控制器。完成启动屏幕所需的所有魔法,然后按照以下步骤操作:
LaunchScreen.storyboard
>显示文件检查器> 用作启动屏幕 LaunchScreen.storyboard
>视图控制器>显示属性检查器> 是初始视图控制器 如果设置正确, Info.plist 应该包含 LaunchScreen .storyboard ,而不包含 .storyboard 在UILaunchStoryboardName
& UIMainStoryboardFile
属性:
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>LaunchScreen</string>
备注:强>
LaunchScreen.storyboard
和Main.storyboard
。一个用于启动,另一个用于您的应用入口点。他们都需要设置是初始视图控制器。答案 3 :(得分:5)
在用于启动的故事板中,请确保为其中存在的单个视图控制器选择了是初始视图控制器选项。
答案 4 :(得分:4)
我相信我可能遇到了类似的问题,需要与上述答案不同的东西。
我在.storyboard文件中创建了一个新的启动屏幕,然后在它出现之后我生成了一个新的.xib文件,该文件在应用程序启动时仍未显示。
我发现我在启动画面上的一些图像有一个旧的.swift文件的Outlet Collection。从LaunchScree.xib中删除它后,启动屏幕工作正常。
答案 5 :(得分:1)
确保设置了入口点,并在常规信息点按中确保将视图设置为从笔尖调整大小。还要确保在常规选项卡中设置了启动点。在部署信息中。
希望这有帮助
答案 6 :(得分:1)
在这方面花了太长时间,感谢Apple!我终于发现我必须删除视图控制器中的实际UIImageView - 而不仅仅是图像 - 以便更改为不同的图像。尝试重命名图像,以各种方式替换它们,删除缓存,从设备中删除应用程序,在构建之前执行清理。就我所见,原始图像从各处都消失了,但它仍然会出现。最后,我在视图控制器的顶部添加了一个新的UIImageView,这拍摄了一个新的图像。然后我刚刚删除了旧的UIImageView,一切都很好。
答案 7 :(得分:0)
您是否已将主接口设置为&#34; Main&#34; (部署信息中的(故事板名称)正确吗?
答案 8 :(得分:0)
在我的应用本地化后,我有黑屏而不是我的飞溅。在LaunchScreen.storyboard的文件检查器的本地化部分中,我只有一个本地化的勾选。所以,我为第二次本地化添加了一个勾号,这解决了这个问题。
答案 9 :(得分:0)
解决方案是使用不带扩展名png的图像名称。
例如,如果您的图片文件名为“img.png”,则只使用“img”。
这会在编辑器中将图像显示为无效(?),但在运行时会正确显示。
这是因为LaunchScreen.storyboard只接受Assets.xcassets中的图像,并且引用Assets.xcassets中的图像的方式是没有扩展名的资源的名称。
我认为使用不带扩展名的名称是一种可行的解决方法。
答案 10 :(得分:0)
@SwiftArchitect和其他人的回答很好,但是我一直得到黑色的启动屏幕,而不是我的启动故事板。
问题最终导致我的故事板失去了与目标的连接。
创建它时,我将其移到了Project导航器中的另一个组/目录中,以保持外观整洁。大错!断开了与目标的连接……现在位于其中的组/目录都已连接到目标,这没关系!
您可以在以下菜单中找到区别:
Project > General > App Icons and Launch Images > Launch Screen File
打开该菜单时,您应该将情节提要板作为单击的选择。
请勿手动输入情节提要名称 -这表明目标成员资格不正确。
答案 11 :(得分:0)
我也在尝试添加一个启动屏幕,这个过程让它出现(谢谢!),但现在应用程序挂在那里,没有移动到 Main.storyboard 和 viewDidLoad。我有这个:
如果我将第二个 LaunchScreen 更改为 Main,我确实可以访问 viewDidLoad 和应用程序的主屏幕,但没有 LaunchScreen。
sim 和设备都这样做。在 LaunchScreen 之后,我缺少什么才能进入 Main?