UINavigationController继承于UIViewController,以栈的方式管理所控制的视图控制器,至少要有一个被管理的视图控制器,这个控制器我们称作,导航控制器的根视图控制器。任何继承自UIViewController的类(多态)都可以作为根控制器。
-
创建根视图
- 初始化一个window
self.window = UIWindow(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.size.width, height:UIScreen.main.bounds.size.height))
- 初始化一个控制器作为 UINavigationControlle(导航控制器) 的栈顶控制器
let vc = ViewController()
- 创建导航控制器
let nav = UINavigationController(rootViewController: vc)
- 把window设置成主window,并可见
self.window?.makeKeyAndVisible()
* 给view添加背景色
self.view.backgroundColor = UIColor.green
* 给view添加背景色
self.title = "消息"
### 创建左右item
* 方法一:
let leftItem1 = UIBarButtonItem(title: "左视图", style: .plain, target: self, action: #selector(leftAction(sender:)))
* 方法二
把左视图放在导航栏上,系统定位,会放在一个合适的位置
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)
* 方法三
创建右视图(根据button 创建,不可以更改位置,及时改了,也没有变化)
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)