【问题标题】:"Launch screens may not set custom class names"“启动屏幕可能无法设置自定义类名”
【发布时间】:2015-12-28 23:47:06
【问题描述】:

我正在尝试将初始视图控制器设置为自定义类。在以前的版本中,这可行,但由于某种原因我现在不能这样做。

我有一个 UIViewController 课程 (IntroVC)。在情节提要中,我创建了一个新的 View Controller 对象并将其类 (Identity Inspector -> Custom Class -> Class) 设置为 IntroVCIntroVC 是一个 .swift 文件,具有 viewDidLoad()didReceiveMemoryWarning()class IntroVC: UIViewController 函数。

这里是 XCode 的截图

错误

介绍VC

故事板

有人知道如何解决这个问题吗?这个版本的 XCode 怎么了?

【问题讨论】:

    标签: ios xcode swift uiviewcontroller uistoryboard


    【解决方案1】:

    如果您在Identity Inspector 中设置了LaunchScreen.Storyboard 文件的类名,则会出现这种情况。只需删除类名,它就可以正常工作了。

    【讨论】:

      【解决方案2】:

      检查 Main.storyboard 中的视图控制器,并确保没有将 both 设置为自定义类的视图控制器:

      并且选中了“是初始视图控制器”:

      你只能做一个或另一个。不知何故,我仍然错误地检查了“Is Initial View Controller”,我花了一段时间才找到它!

      【讨论】:

        【解决方案3】:

        我犯了一个非常简单的错误。

        LaunchScreen.storyboard 中设置自定义类时发生此错误。我应该在Main.storyboard 中设置我的自定义IntroVC 类。

        LaunchScreen.storyboard中的初始VC类设置为UIViewController,将Main.storyboard中的初始VC类设置为IntroVC解决了这个问题。

        XCode 7.0.1 很好。错误是我自己的。

        【讨论】:

        • 你可以明白为什么会这样。在启动屏幕故事板中,我们正在启动;您的代码尚未运行。所以你的自定义类都不存在。您可以使用的唯一视图控制器类是普通的 UIViewController。
        • 在将 launchScreen 的 ViewController 设置为自定义 ViewController 时遇到同样的错误。所以问题是 launchScreen 不允许任何代码,因为您的应用程序没有在那个阶段启动,那么您的代码将永远不会运行。
        【解决方案4】:

        检查您是否在身份检查器中更改“LaunchScreen.xib”文件视图类。它应该是一个标准的 UIView,可能你不小心把它设置为一个视图控制器类。

        【讨论】:

          猜你喜欢
          • 2016-10-12
          • 2019-01-30
          • 2017-05-27
          • 2012-01-26
          • 1970-01-01
          • 2018-04-23
          • 1970-01-01
          • 2015-12-30
          • 1970-01-01
          相关资源
          最近更新 更多