一、应用场景

        在实际应用中我们经常需要从一个页面跳转到另外一个页面,比如“登录界面”没有账号时需要跳转到“注册页面”注册账号,再回到登录界面进行登录,这里就需要用到视图跳转技术

二、技术实现

        1、新建一个测试APP,命名为“JumpView”,如何新建项目可以参考前面一篇文章ios开发教程 一(开发环境搭建)

        

         2、打开新建的项目的Main故事板,点击右上角的“+”按钮,搭建一个简单的登录界面出来

         3、添加一个“Navigation Controller”,删除附带添加的“Root View Controlle” ,再添加一个“View Controller”,添加完毕如下图

        4、在新建好的视图里面添加一个“view”控件,然后搭建一个注册界面

         5、按住ctrl,鼠标点击在“Root View Controlle”拖动线条到“View Controller”,在弹出的菜单里面选择“root view controller”,这样一个注册的视图就新建好了

 

         6、鼠标点击“注册”按钮,按住Ctrl拖到鼠标到“Navigation Controller”,在弹出的菜单中选择“Present Modally”,这样一个视图跳转就完成了

         7、点击运行,下面就是我们启动的第一个画面,点击“注册”按钮就会跳转到注册页面

 三、其它技术

         到这里视图跳转的功能我们已经实现了,那么是否有朋友心里会思考一个问题:如果我想在视图跳转前做一些处理,比如“判断是否满足跳转条件或者跳转的时候做一些数据上报”应该怎么办呢。其实ios给我们留了处理的方法,我们重载这个方法就可以处理了

        1.重写“shouldPerformSegue”方法,返回false就是不跳转,返回true就是跳转

override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool {

if(true){

let alertController = UIAlertController(title: "请阅读用户协议并同意",message: nil, preferredStyle: .alert)

let okAction = UIAlertAction(title: "确定", style: .cancel, handler: nil)

alertController.addAction(okAction)

self.present(alertController, animated: true, completion: nil)

return false

}

return true

}

好文链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。