在没有情节提要的情况下启动iOS项目
故事板可能很难在团队中处理,因为使用同一文件的多个成员可能会产生冲突。 知道如何创建没有情节提要的iOS项目很方便,但是可以使用IB的功能从XIB文件创建视图。
在本文(以及一些相关文章)中,我将展示:
- 如何在没有情节提要的情况下启动时创建初始ViewController
- 如何从XIB文件实例化视图
- 如何将全尺寸视图附加到初始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,只是一篇文章不会太长,而我的标题实际上描述了所写的内容。
- 如何在启动时创建没有Storyboard的初始ViewController(我刚刚解释了😀)
- 如何从XIB文件实例化视图
- 如何将全尺寸视图附加到初始ViewController