首页 > 代码库 > [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]第五天:用代码实现视图跳转