[Xcode 實際操做]9、實用進階-(23)多個Storyboard故事板中的頁面跳轉

目錄:[Swift]Xcode實際操做html

本文將演示多個Storyboard故事板中的頁面跳轉。swift

使用快捷鍵【Command】+【N】建立一個新的故事板文件。框架

(在項目文件夾【DemoApp】上點擊鼠標右鍵【New File】建立)編輯器

->【Storyboard】->【Next】->【Save As】:Storyboard.storyboardide

->保存默認的存儲位置點擊【Create】post

新添加的當前故事板中尚未添加視圖控制器,spa

點擊【庫圖標】,打開控件庫面板,code

在【View Controller】視圖控制器上雙擊,往故事板中插入第一個視圖控制器。htm

如今故事板中,已經擁有了一個視圖控制器,點擊視圖控制器下方的【模型尺寸列表】blog

在彈出的設備控制器列表中,選擇一個小型的設備,以調整故事板中的控制器的尺寸,

使故事板能夠在一屏範圍內,顯示更多的控制器。

點擊【庫圖標】,打開控件庫面板,

在【View Controller】視圖控制器上雙擊,往故事板中插入第二個視圖控制器。

點擊【顯示或隱藏檢查器】圖標,打開右側的檢查器面板。

點擊【身份檢查器圖標】進入身份檢查器面板。

【Storyboard ID】:servicePage,即輸入第二個視圖控制器在故事板中的標識。

將在下文中經過這個標識,得到該視圖控制器。

在故事版左側的文檔框架區域,選擇第一個視圖控制器。

點擊【屬性檢查器】圖標,打開屬性設置面板。

勾選【Is Initial View Controller】是否初始視圖控制器複選框。

設置第一個視圖控制器爲當前控制板的視圖控制器。

而後選擇視圖控制器中的根視圖,往根視圖中添加控件。

點擊【庫圖標】,打開控件庫面板,

在【Button】按鈕控件上雙擊,往根視圖插入一個按鈕控件。

在按鈕定界框的左側按下手指,以調整按鈕的寬度。

設置按鈕的標題文字,【Tile】下方輸入框:Back。

使用快捷鍵【Command】+【N】建立在故事版中,第一個視圖控制器對應的類文件。

(在項目文件夾【DemoApp】上點擊鼠標右鍵【New File】建立)

->【Cocoa Touch Class】->【Next】->

【Class】:ServiceViewController。輸入類名。

【Subclass of】:UIViewController,父類名稱

【Language】:Swift,類文件的默認語言

->【Next】->保存默認的存儲位置點擊【Create】

在項目導航區,打開並編輯上文建立的故事版文件【Storyboard.storyboard】

而後選擇第一個視圖控制器,給視圖控制器指定對應的類文件。

點擊身份檢查器圖標,進入身份檢查器面板。

【Class】:ServiceViewController,即輸入剛剛建立的類文件的名稱。

這樣故事板中的視圖控制器,就和類文件進行了綁定和鏈接。

點擊【顯示或隱藏輔助編輯器】圖標,打開輔助編輯器。

選擇控制器中的按鈕控件,須要將按鈕控件,與綁定的類文件的方法進行鏈接。

在按鈕上點擊鼠標右鍵,而後拖動到右側的代碼文件中。

(兩個方法:1.鼠標右鍵 2.【Command】+鼠標左鍵)

設置:

【Connection】:Action

【Name】:goBack

點擊【Connect】完成按鈕的鏈接設置。

在項目導航區,打開視圖控制器的代碼文件【ServiceViewController.swift】

 1 import UIKit
 2 
 3 class ServiceViewController: UIViewController {
 4 
 5     @IBAction func goBack(_ sender: Any) {
 6         //當用戶點擊按鈕時,導航控件將返回上一頁
 7         self.navigationController?.popViewController(animated: true)
 8     }
 9     override func viewDidLoad() {
10         super.viewDidLoad()
11 
12         // Do any additional setup after loading the view.
13     }
14 }

點擊顯示標準編輯器按鈕,恢復默認的編輯器界面。

打開並查看主故事版【Main.storyboard】的內容。

視圖控制器中有三個跳轉按鈕,當用戶點擊不一樣的按鈕時,跳轉到不一樣的頁面。

在項目導航區,打開視圖控制器的代碼文件【ViewController.swift】

編寫代碼,實現按鈕控件的鏈接方法。

 1 import UIKit
 2 
 3 class ViewController: UIViewController {
 4     
 5     //如今爲第二個按鈕添加點擊事件
 6     @IBAction func gotoPage1OfStoryboard(_ sender: AnyObject) {
 7         //從項目中,得到指定名稱的故事版文件
 8         let storyBoard = UIStoryboard(name: "ServiceStoryboard", bundle: nil)
 9         //得到故事板中的初始視圖控制器
10         let vc = storyBoard.instantiateInitialViewController()
11         
12         //在當前的頁面中,跳轉到指定的視圖控制器
13         self.navigationController?.pushViewController(vc!, animated: true)
14     }
15     
16      //如今爲第三個按鈕添加點擊事件
17     @IBAction func gotoPage2OfStoryboard(_ sender: AnyObject) {
18         //從項目中,得到指定名稱的故事版文件
19         let storyBoard = UIStoryboard(name: "ServiceStoryboard", bundle: nil)
20         //根據上文給視圖控制器設置的故事版標識,得到對應的故事版控制器
21         let vc = storyBoard.instantiateViewController(withIdentifier: "servicePage")
22         
23         //在導航控制器中,從當前的頁面跳轉到指定的視圖控制器
24         self.navigationController?.pushViewController(vc, animated: true)
25         //在頁面進行跳轉的同時,隱藏底部的標籤欄
26         self.tabBarController?.tabBar.isHidden = true
27     }
28     
29     override func viewDidLoad() {
30         super.viewDidLoad()
31         // Do any additional setup after loading the view, typically from a nib.
32     }
33     
34     override func didReceiveMemoryWarning() {
35         super.didReceiveMemoryWarning()
36         // Dispose of any resources that can be recreated.
37     }
38 }
相關文章
相關標籤/搜索