UINavigationController繼承于UIViewController婶芭,以棧的方式管理所控制的視圖控制器欲主,至少要有一個(gè)被管理的視圖控制器挥吵,這個(gè)控制器我們稱(chēng)作糙俗,導(dǎo)航控制器的根視圖控制器。任何繼承自UIViewController的類(lèi)(多態(tài))都可以作為根控制器直秆。
-
創(chuàng)建根視圖
- 初始化一個(gè)window
self.window = UIWindow(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.size.width, height:UIScreen.main.bounds.size.height))
- 初始化一個(gè)控制器作為 UINavigationControlle(導(dǎo)航控制器) 的棧頂控制器
let vc = ViewController()
- 創(chuàng)建導(dǎo)航控制器
let nav = UINavigationController(rootViewController: vc)
- 把window設(shè)置成主window濒募,并可見(jiàn)
self.window?.makeKeyAndVisible()
* 給view添加背景色
self.view.backgroundColor = UIColor.green
* 給view添加背景色
self.title = "消息"
### 創(chuàng)建左右item
* 方法一:
let leftItem1 = UIBarButtonItem(title: "左視圖", style: .plain, target: self, action: #selector(leftAction(sender:)))
* 方法二
把左視圖放在導(dǎo)航欄上,系統(tǒng)定位圾结,會(huì)放在一個(gè)合適的位置
let btn = UIButton(type: .system)
btn .frame = CGRect(x: 0, y: 0, width: 60, height: 30)
btn.addTarget(self, action: #selector(leftAction(sender:)), for: .touchUpInside)
btn.setTitle("左按鈕", for: .normal)
* 方法三
創(chuàng)建右視圖(根據(jù)button 創(chuàng)建瑰剃,不可以更改位置,及時(shí)改了筝野,也沒(méi)有變化)
let rightItem = UIButton (type:.system)
rightItem.frame=CGRect(x: 300, y: 10, width: 70, height: 30)
rightItem.addTarget(self, action: #selector(leftAction(sender:)), for: .touchUpInside)
rightItem.setTitle("右按鈕", for: .normal)