码迷,mamicode.com
首页 > 编程语言 > 详细

[100天Swift]第五天:用代码实现视图跳转

时间:2014-09-09 18:06:09      阅读:383      评论:0      收藏:0      [点我收藏+]

标签:des   os   io   使用   java   ar   for   div   sp   

前言:

在Xcode推出StoryBoard的时候,Xcode可以更简单的,更聪明的帮助我们做一些简单的事情,快速建立一个Base的App,可是作为一个习惯了写代码的“码农”,还是需要知道如何通过代码去实现这些“简单”的事情。

Swift中的视图跳转

1.跳转到任一UIViewController

var sb = UIStoryboard(name: "Main", bundle:nil)
var vc = sb.instantiateViewControllerWithIdentifier("ChooseViewController") as ChooseViewController
self.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=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]第五天:用代码实现视图跳转

标签:des   os   io   使用   java   ar   for   div   sp   

原文地址:http://www.cnblogs.com/xiguain/p/3962809.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!