启动屏幕可能无法设置自定义类名

时间:2016-06-11 13:13:57

标签: ios swift xcode uitableview

我尝试将自定义类添加到我的表视图单元格中,但在添加它之后会出现以下错误:

enter image description here

我经常读到我无法在LaunchScreen中使用自定义类,但我还没有触及此文件。谁能帮我?

enter image description here

这是我对主界面和启动界面的一般设置。

我正在使用Swift。

7 个答案:

答案 0 :(得分:80)

转到Main.storyboard的媒体资源,然后检查是否未选择Use as Launch Screen。听起来你错误地选择了它。

enter image description here

答案 1 :(得分:6)

我总是有一个单独的启动画面,这是第一个视图控制器应用程序加载。 Splash Screen Storyboard

这是您要添加所有业务逻辑或显示微调器/加载器等的文件。

为此,您需要设置项目的部署目标,如图所示。 Target Deployment info

请注意,您无法将任何其他自定义类添加到LaunchScreen。这是一个ViewController只是在应用程序即将开始时显示。在app生命周期的这个阶段,还没有开始。它几乎与静态图像相似(以前它只是静态图像,直到iOS7)。从iOS9或XCode 7开始,它以前曾被改为故事板,它曾经是XIB文件。因此,您无法将自定义类对象添加到LaunchScreen,因为这是仍然要加载或启动应用程序的阶段。

答案 2 :(得分:3)

要添加Yash的评论,此错误会产生误导。如果ViewController的Custom Class字段为空,那么您还应检查视图中的每个对象,看看它们的自定义类是否也为空,您甚至不能为Launch Page设置自定义标签。

这就是让我花了一些时间才弄明白的事情,我在其中一个标签上设置了一个自定义类,意外地从剪切+粘贴。

答案 3 :(得分:2)

iOS 13注意:

在iOS 13之前,您同时拥有:

  • Main.storyboard
  • LaunchScreen.storyboard

默认情况下,从iOS 13开始,您将拥有SwiftUI。结果,您不再拥有Main.storyboard。您只有LaunchScreen.storyboard

关于它们的区别,请参见here

也许您的意思是您刚刚看到情节提要这个词,然后跳到它的后面,后来才意识到您并没有针对 Main .storyboard。

修复很简单,并在Paulw11 answer

中提到

为什么会这样?

这是因为SwiftUI在某种程度上已经不再需要情节提要,并且倾向于将预览重点放在single source of truth上。


如果您仍然想继续使用Storyboard,那么您要做的就是在创建项目时将“用户界面”设置为“ Storyboard”:

enter image description here

答案 4 :(得分:1)

我犯了同样的错误。

错误:

enter image description here


打算要做的事情很可能是这样的:

正确:

enter image description here

答案 5 :(得分:0)

转到你的 - > launchScreen.storyboard然后到你的 - >身份和类型 - >取消选中该框 - >用作启动画面。一般更改 - >应用程序图标和启动图像 - >启动屏幕文件下拉菜单 - > LaunchScreen而不是launchScreen.storyboard将无法帮助(停止)执行上述操作。确保简单地设置所有约束,只需从主故事板中复制约束设置即可。

答案 6 :(得分:0)

此错误的原因很多。

我收到此错误是因为launchscreen.storyboard和main.storyboard与“ viewController.swift”具有相同的自定义类。

尝试从launchscreen.storyboard中删除自定义类。