实现跳转的几种方式

跳转的方式有多种,每一种都有它存在的意义。

跳转就是当我们点击按钮或者实现某个活动从一个页面到另一个页面,那么我就来介绍几种跳转的法式。

 

第一种跳转方式-----Storyboard中segue(拉线) 

这个方式很方便也快捷,非常适合初学运用。但是在以后的开发中页面多了,如过过多的拉线,这个方法就会让整个画面太凌乱不便于整理,所以这个方法适合自己开发一些小程序的时候运用。

1.在我们的中新拖入一个viewcontroller,在拖入一个label,在label中写入“hollerworld”。

2.在第一viewcontroller中拖入一个button控件。

3.右键点击button拖入第2个viewcontroller就会出现一个segues的类型面。我们选择第一个“show”。(鼠标对着button按下右键不放)

4.运行程就会发现当我们点击button时就会跳转到第2个页面

第二种方式是通过segue的Identifier

第一种方式我们是通过button和第2个viewcontroller进行拉线,现在这个方式是通过第一个viewcontroller和第2个viewcontroller拉线(方式同上),这个方式你会发现同样是拉线但是却不能跳转,这个时候我们就要用到Identifier

                                                                   

1.当我们拉好线后,点击segue(那条线),方法入下图(比较懒,能用图的尽量不码字😁)

         

 

 

 2.在ViewController.h 添加一个button(拖控件)

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController

- (IBAction)twoskip:(id)sender;

@end

 3.在ViewController.m

- (IBAction)twoskip:(id)sender {
    [self performSegueWithIdentifier:@"two" sender:self];
}

 4.运行程序就可以了

第三种方式是通过viewcontroller的Identifier(Storyboard ID)

这种方式的优点在于不用拉线,代码量也不多。值得注意的是每个viewcontroller的Storyboard ID都是唯一的,不能一样,不然会出错。

1.拖2个viewcontroller ,在第一个viewcontroller中拖一个button。

2.新建一个累,绑定第2个viewcontroller

                  

2.在第2的一个viewcontroller中设置他的Storyboard ID入下图。

                  

 

3.代码实现

 

#import <UIKit/UIKit.h>
#import "ViewControllerTwo.h"//加入一个头文件

@interface ViewController : UIViewController

- (IBAction)twoskip:(id)sender;

@end

 

- (IBAction)twoskip:(id)sender {
    UIStoryboard *action=[UIStoryboard storyboardWithName:@"Main" bundle:nil];//取得Main.StoryBoard
    ViewControllerTwo* Skip=[action instantiateViewControllerWithIdentifier:@"viewcontrollertwo"];//通过StoryBoardID获得对应的控制器对象
    [self presentViewController:Skip animated:YES completion:nil];//代码实现
    
}

 

 4.运行

目前就介绍这三种跳转方法。在这就在为大家普及一点小知识

1.UINavigationController 也叫也叫导航控制器,它可以控制我们的viewcontroller,它主要是通过栈的原理来实现,自带跳转功能(也可以自定义)

2.UITabBarController 也叫标签控制器,它可以控制多个viewcontroller进行页面的切换,也是自带跳转功能,

现在就介绍这一点,详细的以后用到在说。

如果我有什么地方有问题的或者是我的表达出错了,请指出来,让我们一起进步------人非圣贤孰能无过!

 

 

 

 

 

 

posted @ 2017-04-03 14:20  最深萌死  阅读(1622)  评论(0编辑  收藏  举报