美文网首页
两个界面的连接

两个界面的连接

作者: Dove_Q | 来源:发表于2016-10-12 12:43 被阅读10次

    ViewController

        @IBAction func didClicked(sender: UIButton) {
            //1. 创建一个页面对象
            let secondCtrl = SecondViewController()
            //2.找到一个已经显示的页面
            //模态视图Modal
            //对于正在显示的页面或控件,系统会自动维持它的强引用
    //        self.presentViewController(secondCtrl, animated: true, completion: nil)
            
            //1. 获取window
    //        let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
    //        appDelegate.window?.rootViewController = secondCtrl
            
            //2. 获取window
    //        UIApplication.sharedApplication().keyWindow?.rootViewController = secondCtrl
            
            //3. 对于一个已经显示的视图,一定有一个window属性
            self.view.window?.rootViewController = secondCtrl
        }
    
        deinit {
            print("第一个页面销毁")
        }
    

    SecondViewController

    class SecondViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
    
        //每一个页面在显示之前都会调用viewDidLoad
        override func viewDidLoad() {
            super.viewDidLoad()
    
            self.view.backgroundColor = UIColor.redColor()
            
            let tableView = UITableView(frame: self.view.bounds, style: .Plain)
            tableView.dataSource = self
            tableView.delegate = self
            //显示一个控件,会自动提供强引用
            self.view.addSubview(tableView)
            
            tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
        }
    
        func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
            return 10
        }
        
        func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
            let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath)
            cell.textLabel?.text = "aaa"
            return cell
        }
        
        func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
            //让当前页面消失
            //系统自动将提供的强引用删除
    //        self.dismissViewControllerAnimated(true, completion: nil)
            
    //        let firstCtrl = ViewController()
            
            //从Storyboard获取新的第一个页面
            let firstCtrl = UIStoryboard(name: "Main", bundle: nil).instantiateInitialViewController()
            
            self.view.window?.rootViewController = firstCtrl
        }
        
        deinit {
            print("通知该对象即将销毁")
        }
    }
    

    相关文章

      网友评论

          本文标题:两个界面的连接

          本文链接:https://www.haomeiwen.com/subject/cwriyttx.html