目錄:[Swift]Xcode實際操做html
本文將演示使用導航控制器的幾個跳轉方式ide
選擇編輯第二個視圖控制器文件post
1 import UIKit 2 //定義一個全局變量,用來記錄當前顯示區域的視圖的編號 3 var pageNum = 0 4 5 class SecondSubViewController: UIViewController { 6 7 override func viewDidLoad() { 8 super.viewDidLoad() 9 10 // Do any additional setup after loading the view. 11 //每當當前視圖控制器被建立依此,全局變量即增長1 12 pageNum = pageNum + 1 13 //而後根據當前的全局變量數值,設置視圖控制器的標題名稱 14 self.title = "Page\(pageNum)" 15 //設置視圖控制器的背景顏色爲紫色 16 self.view.backgroundColor = UIColor.purple 17 18 //添加一個按鈕,當點擊按鈕時,跳轉(Push)至下一頁面 19 let push = UIButton(frame: CGRect(x: 40, y: 120, width: 240, height: 40)) 20 //設置按鈕上的標題文字 21 push.setTitle("Push Page", for: UIControl.State()) 22 //設置按鈕的背景顏色爲橙色 23 push.backgroundColor = UIColor.orange 24 //給按鈕綁定點擊事件 25 push.addTarget(self, action: #selector(SecondSubViewController.pushPage), for: UIControl.Event.touchUpInside) 26 //將按鈕添加到當前視圖控制器的根視圖 27 self.view.addSubview(push) 28 29 //再添加一個按鈕,當點擊按鈕時 30 //從當前頁面返回(Pop)至上一級頁面 31 let pop = UIButton(frame: CGRect(x: 40, y: 180, width: 240, height: 40)) 32 //設置按鈕上的標題文字 33 pop.setTitle("Pop Page", for: UIControl.State()) 34 //設置按鈕的背景顏色爲橙色 35 pop.backgroundColor = UIColor.orange 36 //給按鈕綁定點擊事件 37 pop.addTarget(self, action: #selector(SecondSubViewController.popPage), for: UIControl.Event.touchUpInside) 38 //將按鈕添加到當前視圖控制器的根視圖 39 self.view.addSubview(pop) 40 41 //再添加一個按鈕,當點擊按鈕時 42 //跳轉(Pop)到指定序號的視圖 43 let index = UIButton(frame: CGRect(x: 40, y: 280, width: 240, height: 40)) 44 //設置按鈕上的標題文字 45 index.setTitle("Goto Index Page", for: UIControl.State()) 46 //設置按鈕的背景顏色爲橙色 47 index.backgroundColor = UIColor.orange 48 //給按鈕綁定點擊事件 49 index.addTarget(self, action: #selector(SecondSubViewController.gotoIndexPage), for: UIControl.Event.touchUpInside) 50 //將按鈕添加到當前視圖控制器的根視圖 51 self.view.addSubview(index) 52 53 //繼續添加一個按鈕,當點擊按鈕時 54 //跳轉(Pop)到根視圖 55 let root = UIButton(frame: CGRect(x: 40, y: 340, width: 240, height: 40)) 56 //設置按鈕上的標題文字 57 root.setTitle("Goto Root Page", for: UIControl.State()) 58 //設置按鈕的背景顏色爲橙色 59 root.backgroundColor = UIColor.orange 60 //給按鈕綁定點擊事件 61 root.addTarget(self, action: #selector(SecondSubViewController.gotoRootPage), for: UIControl.Event.touchUpInside) 62 //將按鈕添加到當前視圖控制器的根視圖 63 self.view.addSubview(root) 64 } 65 66 //建立第一個按鈕綁定的方法 67 @objc func pushPage() 68 { 69 //實例化第二個視圖控制器 70 let viewController = SecondSubViewController() 71 //把視圖控制器,Push到導航視圖裏,至關於入棧操做 72 self.navigationController?.pushViewController(viewController, animated: true) 73 } 74 75 //建立第二個按鈕綁定的方法 76 @objc func popPage() 77 { 78 //當前視圖控制器,將從導航視圖控制器堆棧中移除, 79 //並返回至上一頁面,至關於出棧操做。 80 self.navigationController?.popViewController(animated: true) 81 } 82 83 //建立第三個按鈕綁定的方法 84 @objc func gotoIndexPage() 85 { 86 //根據導航視圖控制器中的全局序號, 87 //查找堆棧中指定序號的視圖控制器 88 let viewController = self.navigationController?.viewControllers[2] 89 //而後在導航視圖控制器中,跳轉至該視圖控制器 90 self.navigationController?.popToViewController(viewController!, animated: true) 91 } 92 93 //建立第四個按鈕綁定的方法 94 @objc func gotoRootPage() 95 { 96 //當用戶點擊第四個按鈕時, 97 //導航控制器中的全部子視圖控制器,都將所有出棧, 98 //從而跳轉至根視圖控制器 99 self.navigationController?.popToRootViewController(animated: true) 100 } 101 102 override func didReceiveMemoryWarning() { 103 super.didReceiveMemoryWarning() 104 // Dispose of any resources that can be recreated. 105 } 106 }