Swift IOS应用程序在哪里实例化View和ViewController?

时间:2014-10-30 13:25:57

标签: ios swift

我是IOS App开发的新手,但我正在努力学习它,我试图避免使用界面构建器。

所以我试图理解执行的流程。我看到AppDelegate有@UIApplicationMain声明,根据Apple的文档,它不需要main.swift文件。这个主要方法将实例化应用程序和应用程序委托。

单视图模板还为我创建了一个ViewController类,以及一个Main.storyboard文件。那么实例化ViewController和整个视图层次结构的代码在哪里?

如果我想在没有界面构建器的情况下工作,我将在哪里实例化UiView?或者我是否必须初始化UIWindow?我在我的应用委托类中看到了一个UIWindow字段,我在任何地方都看不到它。

1 个答案:

答案 0 :(得分:1)

如果您想避免界面生成器/故事板,您可以。您需要在应用委托代理didFinishLaunchingWithOptions中实例化您的视图控制器。然后,您将新实例化的视图控制器设置为Windows根视图控制器。

示例:

import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

var window: UIWindow!

func application(application: UIApplication, 
        didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
window = UIWindow(frame: UIScreen.mainScreen().bounds) //allocate window

let vc = ViewController() //initialize view controller
window.rootViewController = vc

window.backgroundColor = UIColor.whiteColor()
window.makeKeyAndVisible()
return true
}

然后在您的ViewController.swift viewDidLoad中设置一个按钮或标签,并将其作为子视图放在VC .view属性上以确保它有效。