視圖控制器

  1. 視圖控制器方法
    ? – loadView:不要主動調(diào)用該方法,當訪問控制器view的時候,就會調(diào)用該方法。如果要自己創(chuàng)建view,則需要重寫該方法。
    ? – viewDidLoad:當加載控制器的視圖到內(nèi)存時,該方法被調(diào)用。
    ? – didReceiveMemoryWarning:接受內(nèi)存警告消息

  2. 視圖控制器生命周期(生命周期的方法)
    ? – viewWillAppear:
    ? – viewDidAppear:
    ? – viewWillDisappear:
    ? – viewDidDisappear:

  3. 模態(tài)推出(模態(tài)推出一定要dismiss)

  4. view是懶加載的

  5. 屬性傳值

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
        }
    
    
   //加載相關(guān)資源
    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.推出完成后回調(diào)  閉包表達式
        self.present(vc, animated: true){
            
        }
    }
    
    
    
    //視圖將要顯示在屏幕上
    //viewWillAppear會走很多次  回調(diào)時也可用
    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{
        
    }
    
    
    
    

    
    
     //接收到內(nèi)存警告信息
    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.
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容