主要是是整理一下,方便以后自己查阅,没有写详细的实现,不是教程。
(跟我一样新手希望能看懂此文学习多界面切换的,前提是已经有了一个界面,对于一个界面的操作已经比较熟悉,而且对于控件的使用,比如button等都比较熟悉,见谅)。
1.在Xcode中,点击顶部菜单栏中的File,然后选中New File...在弹出的窗口中选中Objective-C class。
Class:SecondViewController (名字随便取)
Subclass of: UIViewController
Targeted for iPad:不勾选
2.接下来,我们需要在主界面(FirstViewController(存在的那个界面的名字))里面添加一些代码 。
比如可以在主界面的一个Button 的IBAction里面实现:(效果就是点击button跳入SecondViewController)
SecondViewController *controller = [[SecondViewController alloc]initWithNibName:@"SecondViewController" bundle:nil];
controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentViewController:controller animated:YES completion:nil];
别忘了添加头文件。
3.在SecondViewController点击一个Button切换回主界面.
需要知道的是,我们在AppDelegate中把FirstViewController设置为根视图控制器,而SecondViewController只不过是通过FirstViewController创建的视图控制器。你应该认出来了,self.presentingViewController意味着presentingViewController是当前视图控制器SecondViewController)的属性,它指的是FirstViewController。我们无需手动设置这个属性,UIKit会自动帮我们处理这些东西。
我们可以说FirstViewController是SecondViewController的presentingViewController(FirstViewController是呈现SecondViewController的视图控制器),也可以说SecondViewController是FirstViewController的presentedViewController(SecondViewController是FirstViewController所呈现的视图控制器)。
所以实现代码如下:
[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
[self dismissViewControllerAnimated:YES completion:nil];
因为self这里本来就是SecondViewController.