目錄:[Swift]Xcode實際操做html
本文將演示如何顯示和隱藏導航視圖的導航欄和工具欄ide
打開第一個視圖控制器工具
1 import UIKit 2 3 class FirstSubViewController: UIViewController { 4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 8 // Do any additional setup after loading the view. 9 self.title = "First Page" 10 self.view.backgroundColor = UIColor.brown 11 self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Next", style: UIBarButtonItem.Style.plain, target: self, action: #selector(FirstSubViewController.nextPage)) 12 13 let imgView = UIImageView(frame: CGRect(x: 0, y: 0, width: 40, height: 40)) 14 imgView.image = UIImage(named: "PicRound") 15 let view = UIView(frame: CGRect(x: 0, y: 0, width: 40, height: 40)) 16 view.backgroundColor = UIColor.purple 17 view.addSubview(imgView) 18 self.navigationItem.titleView = view 19 } 20 21 @objc func nextPage() 22 { 23 let viewController = SecondSubViewController() 24 self.navigationController?.pushViewController(viewController, animated: true) 25 } 26 27 //首先創建視圖控制器聲明週期中,視圖即將顯示的代理方法 28 //視圖在即將可見時,執行這個方法 29 override func viewWillAppear(_ animated: Bool) { 30 //先覆蓋父類的同名方法 31 super.viewWillAppear(animated) 32 //顯示導航視圖控制器的頂部工具欄 33 self.navigationController?.setToolbarHidden(false, animated: false) 34 } 35 36 override func didReceiveMemoryWarning() { 37 super.didReceiveMemoryWarning() 38 // Dispose of any resources that can be recreated. 39 } 40 }
接着編輯第二個視圖控制器post
在第二個視圖控制器中添加兩個按鈕元素spa
1 import UIKit 2 3 class SecondSubViewController: UIViewController { 4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 8 // Do any additional setup after loading the view. 9 self.title = "Second Page" 10 self.view.backgroundColor = UIColor.purple 11 12 //添加一個按鈕,當單擊這個按鈕時,會隱藏導航欄。 13 let btHideNavBar = UIButton(frame: CGRect(x: 40, y: 200, width: 240, height: 30)) 14 //設置按鈕上的標題文字 15 btHideNavBar.setTitle("Hide navigation bar", for: UIControl.State()) 16 //設置按鈕的背景顏色爲橙色 17 btHideNavBar.backgroundColor = UIColor.orange 18 //給當前按鈕綁定點擊事件 19 btHideNavBar.addTarget(self, action: #selector(SecondSubViewController.hideNavigatonBar), for: .touchUpInside) 20 //而後把按鈕,插入到當前視圖控制器的根視圖 21 self.view.addSubview(btHideNavBar) 22 23 //使用一樣的方法,建立另外一個按鈕 24 //點擊這個按鈕,會隱藏底部的工具欄 25 let btHideToolBar = UIButton(frame: CGRect(x: 40, y: 260, width: 240, height: 30)) 26 //設置按鈕上的標題文字 27 btHideToolBar.setTitle("Hide tool bar", for: UIControl.State()) 28 //設置按鈕的背景顏色爲橙色 29 btHideToolBar.backgroundColor = UIColor.orange 30 //給當前按鈕綁定點擊事件 31 btHideToolBar.addTarget(self, action: #selector(SecondSubViewController.hideToolBar), for: .touchUpInside) 32 //而後把按鈕,插入到當前視圖控制器的根視圖 33 self.view.addSubview(btHideToolBar) 34 } 35 36 //建立響應第一個按鈕點擊事件的方法 37 @objc func hideNavigatonBar() 38 { 39 //當用戶點擊第一個按鈕時,隱藏導航視圖控制器的頂部導航欄 40 self.navigationController?.setNavigationBarHidden(true, animated: true) 41 } 42 43 //接着建立響應第二個按鈕的點擊事件方法 44 @objc func hideToolBar() 45 { 46 //當用戶點擊第二個按鈕時,隱藏導航視圖控制器的頂部工具欄 47 self.navigationController?.setToolbarHidden(true, animated: true) 48 } 49 50 override func didReceiveMemoryWarning() { 51 super.didReceiveMemoryWarning() 52 // Dispose of any resources that can be recreated. 53 } 54 }