Xcode - storyboard_swift版 01:故事模板
Storyboard
1 - 新建一个工程,同样使用 Single View App Template,开发语言选择 swift!完事后 Xcode 的主界面应该如下图所示
这个新项目包含了 2 个类:AppDelegate 和 ViewController, 此外还有今天的主角 Main.storyboard。这是一个只支持竖屏显示的 App,在设置中 Deployment Info/Device Orientation 下面的 Landscape Left 和 Landscape Right 选项干掉
2 - 查看 Main.storyboard
注:老版本中的默认场景是一个正方形。因为 Xcode 6 默认为 Storyboard 和 nib 文件开启自动布局 Auto Layout 和尺寸归类 Size Classes。自动布局和尺寸归类这两项新技术可以构建易于调整大小的用户界面,这对支持不同尺寸的 iPhone 和 iPad 非常有用。自动布局由 iOS 6 引入,尺寸归类由 iOS 8 引入。来张回忆杀,如下图
在 Xcode 询问操作时,选择保留 iPhone 的尺寸归类数据,然后点击 Disable Size Classes
3 - 从右下方的对象库里拖出一个 btn 控件,丢进视图控制器中,控件拖进来之后就会显示在左边的文档大纲 Document Outline 中,缩小版的文档大纲就是 Dock
运行效果
4 - 初始视图控制器在 App 是如何加载的呢?答案就在应用代理 application delegate 中
1 import UIKit 2 3 @UIApplicationMain 4 class AppDelegate: UIResponder, UIApplicationDelegate { 5 6 var window: UIWindow? 7 8 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 9 // Override point for customization after application launch. 10 return true 11 } 12 }
@UIApplicationMain 标记指定这个 AppDelegate 类为该模块的入口。使用 Storyboard 时,应用代理必须继承 UIResponder ,必须含有 UIWindow 属性,而且几乎所有的方法都是空的,甚至 application(_:didFinishLaunchingWithOptions:) 也只是返回 true 而已!秘密藏在 Info.plist 文件中
Storyboard 用 UIMainStoryboardFile(即 Main storyboard file base name 键) 来指明 App 启动时必须加载的 Storyboard 的名称
当设置生效,UIApplication 会加载对应名称的 Storyboard 文件,自动将该 Storyboard 中的初始视图控制器实例化,并将其纳入一个新的 UIWindow 对象中
同样在 General 分页的 Project Settings 和 Deployment Info 中也可以看到