在没有情节提要的情况下启动iOS项目

故事板可能很难在团队中处理,因为使用同一文件的多个成员可能会产生冲突。 知道如何创建没有情节提要的iOS项目很方便,但是可以使用IB的功能从XIB文件创建视图。

在本文(以及一些相关文章)中,我将展示:

  1. 如何在没有情节提要的情况下启动时创建初始ViewController
  2. 如何从XIB文件实例化视图
  3. 如何将全尺寸视图附加到初始ViewController

如何在没有情节提要的情况下启动时创建初始ViewController

  • 通过Xcode创建一个Simple View Application,然后从项目中删除情节提要。
  • 修改项目的Info.plist。 “主故事板文件基本名称”默认为“主”,因此请将其修改为空白值。 如果此值保持“ Main”,我们的项目将在启动时搜索Main.storyboard(已删除)
  • 如下修改AppDelegate.swift。
  • UIWindow(frame:UIScreen.main.bounds)创建一个UIWindow对象,其大小与iOS设备的屏幕(UIScreen)相同
  • UIWindow对象需要rootViewController。 如下文档所述,如果未分配rootViewController,则不会显示任何内容。

根视图控制器提供窗口的内容视图。 将视图控制器分配给此属性(通过编程或使用Interface Builder)将视图控制器的视图安装为窗口的内容视图。

  • makeKeyAndVisible()告诉窗口在前端显示。 请注意,也可以通过

self.window?.isHidden = true。

但是,每个应用程序都需要一个关键窗口,并且文档中指出:

尽管触摸事件被传递到发生它们的窗口,但是没有相关坐标值的事件被传递到按键窗口

因此,我总是倾向于在主窗口中使用makeKeyAndVisible()。

而已! 现在我们可以不使用Storyboard而启动应用程序,并将ViewController附加到窗口根目录。

但是当前的ViewController缺少视图,因此未显示任何内容。

相关文章

我将在另一篇文章中解释步骤2和3,只是一篇文章不会太长,而我的标题实际上描述了所写的内容。

  1. 如何在启动时创建没有Storyboard的初始ViewController(我刚刚解释了😀)
  2. 如何从XIB文件实例化视图
  3. 如何将全尺寸视图附加到初始ViewController