根视图与导航控制器

  • 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)


你可能感兴趣的:(根视图与导航控制器)