02.The Window 補充——experimenting

Experimenting With Views

作者:PMST
文章:Views - Experimenting with Views
系列:The Swift Beginner
寫於:2015.04.26

個人博客直通車
團隊博客直通車

回顧前文,詳細討論瞭如何使用a main storyboard和純代碼兩種情況分別創建window工程。大致把界面啓動、window創建、配置到界面呈現流程講述了一下。本章作爲The Window的補充,講述如何增添視圖控制器以及視圖操作。

使用storyboard情況

首先,打開Xcode,新建一個Single View Application項目,Xcode將自動生成一個Main.storyboard文件包含到項目中;接下來選中點擊查看storyboard內容,默認是一個場景(scene),包含一個視圖控制器(view controller)以及控制器所包含的main view;當應用啓動時,正如前文所講到的視圖控制器會成爲應用main windowrootViewController(假如不瞭解,請回顧上文),而視圖控制器的view則成爲主窗口的root view

你可以嘗試從Object library(即右下角第三個圖標)中拖拽一個視圖到main view中作爲其subView,當應用運行時,這個拖拽進來的視圖會自動實例化;當然你也可以選擇使用代碼來實例化一個視圖,然後將其加入到main view中。通常我們選擇在視圖控制器中的viewDidLoad方法中添加上述代碼配置,以及使用self.view來獲得視圖控制器的main view。就像下面的代碼:

override func viewDidLoad(){
    super.viewDidLoad()
    let mainView = self.view
    let v = UIView(frame:CGRectMake(100,100,50,50))
    v.backgroundColor = UIColor.redColor() //紅色的小正方形
    mainview.addSubView(v)                  //添加到主視圖中
}

使用代碼創建

恩…我們需要一個空項目(前文已經講述,請點擊這裏),沒有.xib文件,沒有.storyboard文件,完全依靠代碼來實現前面demo的結果。對於新手來說,這無疑是比較興奮的!

正如The Window中最後給出的demo,由於沒有分配一個視圖控制器給windowrootViewController,在應用啓動時會產生警告。最簡單的解決方法便是在application:didFinishLauchingWithOptions:方法中,創建一個視圖控制器並任命它爲windowrootViewController。代碼如下:

  func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
    self.window.rootViewController = UIViewController()   //就是這裏新建了一個視圖控制器
    let mainView = self.window!.rootViewController!.view  //得到主視圖
    let v = UIView(frame:CGRectMake(100,100,50,50))       //自定義一個視圖
    v.backgroundColor = UIColor.redColor()                //設置顏色爲紅色
    mainview.addSubView(v)                          //把自定義的紅色視圖添加到主視圖中

    self.window!.backgroundColor = UIColor.whiteColor()
    self.window!.makeKeyAndVisible() //這一步很重要 

    return true
  }
發佈了75 篇原創文章 · 獲贊 70 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章