首页 > 代码库 > [100天Swift]第五天:用代码实现视图跳转
[100天Swift]第五天:用代码实现视图跳转
前言:
在Xcode推出StoryBoard的时候,Xcode可以更简单的,更聪明的帮助我们做一些简单的事情,快速建立一个Base的App,可是作为一个习惯了写代码的“码农”,还是需要知道如何通过代码去实现这些“简单”的事情。
Swift中的视图跳转
1.跳转到任一UIViewController
var sb = UIStoryboard(name: "Main", bundle:nil)var vc = sb.instantiateViewControllerWithIdentifier("ChooseViewController") as ChooseViewControllerself.presentViewController(vc, animated:true, completion:nil)
以上是为了StoryBoard设定了自己的起始控制器。
2.从当前视图跳转到下一视图
var vc = AnswerViewController()self.presentViewController(vc, animated: true, completion: nil)
通过presentViewController方式实现。
3.通过dismissViewControllerAnimated(completion:)返回上一个视图
self.dismissViewControllerAnimated(true, completion:nil)
使用dismissViewControllerAnimated。
4.Modal Segue to channel Controller
通过在storyboard设计视图中,选择一个按钮,右键拖动到另一个视图,即可建立动作跳转,但需要重载func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!)方法,如下:
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) { var channelC:ChannelController=segue.destinationViewController as ChannelController channelC.delegate=self channelC.channelData=http://www.mamicode.com/self.channelData>
这些方式应该是StoryBoard出现之后实现跳转的主要方式,注意要实现prepareForSegue,以及对应的参数哦。
5.通过navigationController.pushViewController(animated:)方法
var webView=WebViewController()webView.detailID=data.newsID//取导航控制器,添加subView
self.navigationController.pushViewController(webView,animated:true)
6.通过 func popViewControllerAnimated() -> UIViewController! 弹出最上面的视图,并返回下一个视图控制器
7.通过func popToViewController(animated:) -> AnyObject[]!返回到navigationController视图堆栈中指定的某一个视图
未完待续...
[100天Swift]第五天:用代码实现视图跳转
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。