iT邦幫忙

DAY 14
2

Swift - 從菜菜鳥到菜鳥的 30 天系列 第 14

[Swift-d14] - Basic - Navigation View 2 + ViewController

  • 分享至 

  • xImage
  •  

小弟的規劃表 - http://blog.kerkerj.in/blog/2014/11/01/planning/

好讀版 - http://blog.kerkerj.in/blog/2014/10/14/swift-d14/

延續昨天的主題,今天我們要做的事情是:

  1. 為新的 ViewController 實際加入程式碼 (ViewController2.swift)
  2. 加入一個 button 來控制是否前進下一頁或後退

我們先新增一個檔案:

接著選擇 CocoaTouch Class:

回到 storyboard, 選擇第二個 ViewController

並按照下圖,將 Class 指定給 View2Controller

這樣子 storyboard 的 View2 就會指定到 View2Controller 了

我們在 View2Controller 的 viewDidLoad 方法中加入一行程式碼

來驗證他是否有吃到 View2Controller

self.title = "View2 by me"

Run 起來看的話就會是這樣:

的確是有吃到程式碼的

再來就是要加入按鈕了:

我們先拉一個 Button 進 View2Controller

並且將該 Button 拉進 View2Controller 的 code

設定該 button 為 Action, 並且名稱是 『backToView'

意即我們要讓點下 View2Controller 的 Button 行為為回到上一個 View

另外對 View2 為他加入一個 storyboard ID, View2,等等會用到:

View1 同樣也加入一個 Button, 並且也是拉到 View1 的 code 中,

同樣是設定 Action ,action name 定義為 『goView2』

就是按下 button 後會到 View2

接著我們分別在 ViewController 及 View2Controller 的程式碼中加入以下程式碼:

View1 -

@IBAction func goView2(sender: AnyObject){
self.navigationController?.pushViewController(self.storyboard?.instantiateViewControllerWithIdentifier("View2") as View2Controller, animated: true)
}

View2 -

@IBAction func backToView(sender: AnyObject) {
  self.navigationController?.popViewControllerAnimated(true)
}

在這邊 Navigation 用到的是 Push, Pop 的概念,使用 View stack

進到下一個 View 時,就 push 欲前往的 View

回到上一個 View 時,就 pop 出上一個 View

在 goView2 中,我們使用到了 storyboard 的 identifier

先讓 storyboard 抓有沒有 identifier 名為 「View2」 的物件

有的話就抓起來,並且使用 as 轉型成 View2Controller, push 進 stack

做完上述事情後,執行程式碼就可以看到結果囉!


上一篇
[Swift-d13] - Basic - Navigation View 1 + ViewController
下一篇
[Swift-d15] - Basic - Table View 1 直接給值 Datasource, (Table View Scroll)
系列文
Swift - 從菜菜鳥到菜鳥的 30 天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

0
henryfan
iT邦新手 5 級 ‧ 2014-10-16 15:26:31

YA 整個 APP 在切換畫面的 Motion 又更完整了!太棒了!

0
wilson1966
iT邦研究生 1 級 ‧ 2014-10-20 11:41:27

加油,小弟有在看哦!

我要留言

立即登入留言