swift UI专项训练42 用Swift代码实现页面跳转与传值

swift UI专项训练42 用Swift代码实现页面跳转与传值,第1张

概述   之前我们做过如果要点击一个按钮实现跳转到另一个按钮的办法,有时候我们需要通过一些动作来触发页面的跳转,比如摇动手机,这样就不能直接用连线的办法来实现跳转了,那么如何通过代码的方式来实现跳转呢?依旧使用过渡的方法,在storyboard中把要实现跳转的两张页面连线,注意不再局限于按钮等确定的实体和另一张页面连线,只要跳转关系是从一张到另一张,把两张页面连起来即可,连线选择show,这里就不演示

之前我们做过如果要点击一个按钮实现跳转到另一个按钮的办法,有时候我们需要通过一些动作来触发页面的跳转,比如摇动手机,这样就不能直接用连线的办法来实现跳转了,那么如何通过代码的方式来实现跳转呢?依旧使用过渡的方法,在storyboard中把要实现跳转的两张页面连线,注意不再局限于按钮等确定的实体和另一张页面连线,只要跳转关系是从一张到另一张,把两张页面连起来即可,连线选择show,这里就不演示了,注意一定要给这个seuge取一个名字,因为后面要遇到,这里取名showDetail



。比如我现在需要通过摇动手机来实现跳转,在第一张页面中重写以下方法:

overrIDe func shouldPerformSegueWithIDentifIEr(IDentifIEr: String?,sender: AnyObject?) -> Bool {               if  self.showArray.count != 0 && self.markpoint != 0//你自己的判断条件                { return true } else {                return false                }            }

上面这个方法来判断是否可以进行页面跳转,在其中加入我们自己的判断条件。

然后在捕获摇动手机动作的方法中(如果不懂这个捕获的代码,可以看我前面写的文章,有介绍)加入我们的判断跳转条件,如果为真实现跳转,如果不满足跳转条件,给出你自己的警告:

overrIDe func motionEnded(motion: UIEventSubtype,withEvent event: UIEvent) {        if motion == UIEventSubtype.MotionShake        {            if markpoint == 1 && self.searchpoint == false{  //不能跳转,给出警告        var alertController1 = UIAlertController(Title: "没有符合条件的菜品!",message: nil,preferredStyle: .Alert)            var cancelAction = UIAlertAction(Title: "返回",style: .Cancel,handler: nil)            alertController1.addAction(cancelAction)              self.presentVIEwController(alertController1,animated: true,completion: nil)            }            if self.searchpoint == true{ //可以跳转            self.performSegueWithIDentifIEr("showDetail",sender: self)//跳转到下一个页面,识别“showDetail”            }                   }    }

实现跳转主要使用了performSegueWithIDentifIEr方法。如果要传输局,使用方法prepareForSegue,我的代码如下:
    overrIDe func prepareForSegue(segue: UIStoryboardSegue,sender: AnyObject?) {                if segue.IDentifIEr == "showDetail"  {            let destinationController = segue.destinationVIEwController as ShowtableVIEwController            destinationController.navigationItem.Title = "摇到的菜"            destinationController.tempCaipin = self.showArray //传值        }            }

第一个页面:



摇动手机后跳转:

总结

以上是内存溢出为你收集整理的swift UI专项训练42 用Swift代码实现页面跳转与传值全部内容,希望文章能够帮你解决swift UI专项训练42 用Swift代码实现页面跳转与传值所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1088505.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存