weekend 2
視圖控制器
- 為什么要有視圖控制器?
- 視圖控制器的生命周期
- 生命周期的每個方法是干什么的(一些實(shí)際的應(yīng)用場景)
- 模態(tài)推出
模態(tài)推出之后一定要dismiss
- view是懶加載的
- 屬性傳值
import UIKit
class ViewController: UIViewController {
// override init(nibName nibNameOrNil:String?,bundle nibBundleOrNil:Bundle?){
// //加載的xib文件
// //bundle
// super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
//
// }
// required init?(coder aDecoder: NSCoder) {
// fatalError("init(corder:) has not been implemented")
// }
//加載view(只會走一次)
override func loadView() {
super.loadView()
//替換當(dāng)前控制器的view
// let imageV = UIImageView(frame: CGRect(x: 0, y: 0, width: self.view.frame.width, height: self.view.frame.height))
//
// self.view = imageV
}
//加載相關(guān)資源
override func viewDidLoad() {
super.viewDidLoad()
//視圖控制器
//UIControl類
//手勢
let btn = UIButton(type: .system)
btn.frame = CGRect(x: 100, y: 100, width: 40, height: 30)
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()
//要推出的下一個控制器
//是否有動畫
//推出完成之后回掉
self.present(vc, animated: true){
}
}
//視圖將要顯示在屏幕上
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
}
//視圖將要消失在屏幕上
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
}
//視圖已經(jīng)消失
override func viewDidDisappear(_ animated: Bool) {
super.viewDidDisappear(animated)
}
//控制器被銷毀
deinit {
}
//顯示在屏幕上
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
}
//接受內(nèi)存警告
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者