我不想在超过4-5屏的项目中使用storyboards,当我新建一个项目时,我通常按照下面的步骤操作。
我不想谈论storyboards本身的问题,如果你对这个话题感兴趣,推荐读这篇文章。
在本文中我们将从Single View Application模板中移除storyboard,并使用导航栈来储存不限数量的视图控制器,然后模态化的显示视图页面。
创建新项目
创建一个新项目并选择Single View Application模板。将其命名为NoStoryboards并选择Swift作为编程语言。
移除storyboard
在项目浏览器里鼠标右键Main.storyboard并选择delete,将其移动到回收站里。
在项目浏览器里选择你的项目文件。
会显示一系列的选项。选择Deployment Info并且设置Main Interface为空。
可选:删除Launch Screen
和上面的操作类似,删除LaunchScreen.xib文件,在项目选项里设置Launch Screen File为空。
为main controller创建界面文件
右键点击项目主目录并选择New File…。选择User Interface栏以及View模板,将其命名为ViewController。
打开ViewController.xib,选择File’s Owner占位符。打开Identity Inspector并将其class改为ViewController。
打开Connections Inspector,并连接view outlet。
创建新窗口
打开AppDelegate.swifting创建新窗口:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var
window: UIWindow?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
window = UIWindow(frame: UIScreen.mainScreen().bounds)
window?.makeKeyAndVisible()
return
true
}
...
}
|
加载main controller
创建一个ViewController的实例并将其设置为窗口的根视图控制器。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var
window: UIWindow?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
|