Xcode9学习笔记19

来源:互联网 发布:淘宝鹊桥是什么意思 编辑:程序博客网 时间:2024/06/08 00:52

    override func viewDidLoad() {        super.viewDidLoad()                // Do any additional setup after loading the view.                self.title = "First Page"        self.view.backgroundColor = UIColor.brown                //设置右上角导航按钮的样式和功能,点击时,页面跳转到第二个视图控制器        self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Next", style: UIBarButtonItemStyle.plain, target: self, action: #selector(FirstSubViewController.nextPage))    }        @objc func nextPage() {        let viewController = SecondSubViewController()//初始化第二个视图控制器对象                //将第二个视图控制器,压入导航视图控制器中,实现页面的跳转        self.navigationController?.pushViewController(viewController, animated: true)    }





    override func viewDidLoad() {        super.viewDidLoad()                // Do any additional setup after loading the view.                pageNum = pageNum + 1//每当当前视图控制器被创建一次,全局变量+1        self.title = "Page\(pageNum)"//设置视图控制器的标题名称        self.view.backgroundColor = UIColor.purple//设置根视图的背景色                //添加一个按钮,点击时跳转至下一页面        let push = UIButton(frame: CGRect(x: 40, y: 120, width: 240, height: 40))        push.setTitle("Push Page", for: UIControlState())//设置按钮标题文字        push.backgroundColor = UIColor.orange//设置按钮颜色        //给按钮绑定点击事件        push.addTarget(self, action: #selector(SecondSubViewController.pushPage), for: UIControlEvents.touchUpInside)        self.view.addSubview(push)//将按钮添加到当前视图控制器的根视图                //再添加一个按钮,当点击按钮时,从当前页面返回至上一级页面        let pop = UIButton(frame: CGRect(x: 40, y: 180, width: 240, height: 40))        pop.setTitle("Pop Page", for: UIControlState())//设置按钮标题文字        pop.backgroundColor = UIColor.orange//设置按钮的背景色为橙色        //给按钮绑定点击事件        pop.addTarget(self, action: #selector(SecondSubViewController.popPage), for: UIControlEvents.touchUpInside)        self.view.addSubview(pop)//将按钮添加到当前视图控制器的根视图                //再添加一个按钮,当点击按钮时,返回到指定序号的视图        let index = UIButton(frame: CGRect(x: 40, y: 280, width: 240, height: 40))        index.setTitle("Goto Index Page", for: UIControlState())        index.backgroundColor = UIColor.orange        index.addTarget(self, action: #selector(SecondSubViewController.gotoIndexPage), for: UIControlEvents.touchUpInside)        self.view.addSubview(index)                //再添加一个按钮,当点击按钮时,返回到根视图        let root = UIButton(frame: CGRect(x: 40, y: 340, width: 240, height: 40))        root.setTitle("Goto Root Page", for: UIControlState())        root.backgroundColor = UIColor.orange        root.addTarget(self, action: #selector(SecondSubViewController.gotoRootPage), for: UIControlEvents.touchUpInside)        self.view.addSubview(root)    }        @objc func pushPage() {        let viewController = SecondSubViewController()//实例化第二个视图控制器        //把视图控制器,压入到导航视图里,相当于入栈操作        self.navigationController?.pushViewController(viewController, animated: true)    }        @objc func popPage() {        //当前视图控制器将从导航视图控制器堆栈中移除,并返回至上一页面,相当于出栈操作        self.navigationController?.popViewController(animated: true)    }        @objc func gotoIndexPage() {        //根据导航视图控制器中的全局序号,查找堆栈中指定序号的视图控制器        let viewController = self.navigationController?.viewControllers[2]        //然后在导航视图控制器中,跳转至该视图控制器        self.navigationController?.popToViewController(viewController!, animated: true)    }        @objc func gotoRootPage() {        //当用户点击时,导航视图控制器中的所有子视图控制器全部出栈,从而跳到根视图控制器        self.navigationController?.popToRootViewController(animated: true)    }