1.创建项目
1.需要添加UIviewcontroller类(点左下角+,会在工程目录中创建相应的.h.m文件)
2.添加场景,从object library中拖出新的view controllr到故事板中。
3.将拖至故事板中的对象关联到试图控制器(点击新建在故事版中的视图,点击Identity inspector 在CLASS下拉列表中选择自己创建的视图控制器)
2。设计界面
创建模态切换(按住相应要跳转的按钮拉至相应的场景,在模式中选择Modal,这会在相应的场景中出现新的内容segue form .. to ..点击它可以进行配置)
在跳转到的场景中应该设置一个按钮用于退回。
创建了两个视图控制器后,他们还是独立的,需要在相应的头文件中使用#import 来导入相应的文件,如果出现循环导入的错误使勇@class
3.实现应用程序逻辑
如果在一个场景加载完毕后就执行一个动作,需要在相应的头文件中,VIEWDIDLOAD方法中编写相应的代码
1 self.emailField.text=((ViewController *)self.presentingViewController).emailLabel.text; //用初始化视图中的EMAIL内容初始化编辑器视图中的内容 2 [super viewDidLoad];
1.要访问初始场景的视图控制器使用presentingViewController方法。注意强转为相应的对象。
1 ((ViewController*)self.presentingViewController).emailLabel.text=self.emailField.text;//将编辑器视图中的内容设置为初始视图中的内容 2 [self dismissViewControllerAnimated:YES completion:nil];
2.如何关闭设置的界面,使用方法dismissViewControllerAnimated:completion
completion为可选参数,用于指定过渡到之前视图后将执行的代码块
4.关于手工控制切换
1.启动切换
使用UIViewController的实例方法performSegueWithIdentifier:sender
[selfperformSegueWithIdentifier:@"toMyGame" sender:self];
启动了标识符为toMyGame的切换,应将参数sender设置为启动切换的对象
2.关闭模态场景
让用户与模态视图交互完毕回到原来地方。
使用UIViewCOntroller的方法dismissViewControllerAnimated:completion[self dismissViewControllerANimated:yes completion:nil】;
completion为可选参数,表示指定过渡完毕后将执行的代码块。
3.信息交换
在目标视图控制器中设置属性
@property(strong,nonatomic)id delegate;
在目标视图控制器的VIewDidUnload中设置
[self setDelegate:nil];
在源文件头文件中添加方法
-(void)prepareSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
((BViewCOntroller *)segue.destionationViewCOntroller).delegate = self;
} //将B视图中的属性建立到源视图控制器的应用,便可以在B视图中访问源视图了