Swift present 与 push 跳转问题

Swift present 与 push 跳转问题,第1张

概述Swift 使用presentViewController 跳转页面后显示黑屏 原因:storyboard 制作页面 和 纯代码页面,需要使用两种不同方法进行页面跳转 Storyboard 界面:使用代码跳转 let sb = UIStoryboard(name: "Main", bundle:nil) let vc = sb.instantiateViewControllerWithId
Swift 使用presentVIEwController 跳转页面后显示黑屏

原因:storyboard 制作页面 和 纯代码页面,需要使用两种不同方法进行页面跳转

Storyboard 界面:使用代码跳转
let sb = UIStoryboard(name: "Main",bundle:nil)    let vc = sb.instantiateVIEwControllerWithIDentifIEr("SecondVIEwController") as! SecondVIEwController    self.presentVIEwController(vc,animated: true,completion: nil)

注意:记得要设置 StoryboardID ,可以在 IDentifIEr inspector 中修改


StoryboardID 纯代码界面
//present方式    let vc = SecondVIEwController()    self.presentVIEwController(vc,completion: nil)    // 转场动画风格 modalTransitionStyle
Modal 方式转场一般使用在几个没有共同样式的控制器之间。

如果有共同样式的话,大都数用 navigation控制器和 tabbar控制器来实现。

//push方式     self.navigationController.pushVIEwController(vc,animated:true)
扩展 naviagation //push方式

如果是同个栈的控制器 需要d出到指定界面:

//d回根视图    self.navigationController?.popToRootVIEwControllerAnimated(true)    //指定位置    self.navigationController?.popToVIEwController((self.navigationController?.vIEwControllers[0])!,animated: true)
SB与代码结合 ,使用SB连接时候,多条连线传值问题
//使用SB连接转场每次都会触发下面方法    overrIDe func prepareForSegue(segue: UIStoryboardSegue,sender: AnyObject?) {        //可再每个连线处类似按钮的东西加上IDentifIEr,即可判断不同指向        if segue.IDentifIEr == "segueIDentifIEr" {            //不带导航的方式             let vc = segue.destinationVIEwController as! nextVC            //下个视图前了带了导航的方式            //let nv_vc = segue.destinationVIEwController.childVIEwControllers[0] as! nextVC        }    }


文/逗牛(简书作者) 原文链接:http://www.jianshu.com/p/376274daea82 著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。 总结

以上是内存溢出为你收集整理的Swift present 与 push 跳转问题全部内容,希望文章能够帮你解决Swift present 与 push 跳转问题所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存