視圖控制器方法
? – loadView:不要主動調用該方法实幕,當訪問控制器view的時候揭糕,就會調用該方法钩蚊。如果要自己創(chuàng)建view,則需要重寫該方法蚜厉。
? – viewDidLoad:當加載控制器的視圖到內存時长已,該方法被調用。
? – didReceiveMemoryWarning:接受內存警告消息視圖控制器生命周期(生命周期的方法)
? – viewWillAppear:
? – viewDidAppear:
? – viewWillDisappear:
? – viewDidDisappear:模態(tài)推出(模態(tài)推出一定要dismiss)
view是懶加載的
屬性傳值
ViewController
import UIKit
class ViewController: UIViewController {
//初始化 第一個走的方法
// override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) {
// //1.加載的xib文件 2.bundle(main)
// super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
// }
//
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
//fatalError("init(coder:) has not been implemented")
}
//加載view 只會走一次
override func loadView() {
super.loadView()
// //替換當前控制器的view
// let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: self.view.frame.width, height: self.view.frame.height))
// self.view = imageView
}
//加載相關資源
override func viewDidLoad() {
super.viewDidLoad()
//視圖控制器 //UIControl子類 //手勢
let btn = UIButton(type: .system)
btn.frame = CGRect(x: 100, y: 100, width: 50, height: 40)
btn.addTarget(self, action: #selector(btnAction(btn:)), for: .touchUpInside)
btn.setTitle("登錄", for: .normal)
self.view.addSubview(btn)
}
func btnAction(btn:UIButton){
//模態(tài)推出下一個界面,一般用于注冊
let vc = SecondViewController()
//1.要推出的下一個控制器
//2.是否用動畫
//3.推出完成后回調 閉包表達式
self.present(vc, animated: true){
}
}
//視圖將要顯示在屏幕上
//viewWillAppear會走很多次 回調時也可用
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
}
//顯示在屏幕上
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
}
//視圖將要從屏幕上消失
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
}
//視圖已經(jīng)消失
override func viewDidDisappear(_ animated: Bool) {
super.viewDidDisappear(animated)
}
//控制器被銷毀
deinit{
}
//接收到內存警告信息
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
SecondViewController
import UIKit
class SecondViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = UIColor.cyan
let btn = UIButton(type: .system)
btn.frame = CGRect(x: 100, y: 100, width: 50, height: 40)
btn.addTarget(self, action: #selector(btnAction(btn:)), for: .touchUpInside)
btn.setTitle("登錄", for: .normal)
self.view.addSubview(btn)
}
func btnAction(btn:UIButton){
//當前頁面回收回去
self.dismiss(animated: true, completion: nil)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}