UIViewController应该是我们最常用的。
那么最简单的切换方式是什么了?
func presentViewController(viewControllerToPresent: UIViewController, animated flag: Bool, completion: (() -> Void)?)
我们首先创建一个项目,他会有一个自带的视图控制器ViewController
然后我们再创建视图控制器用来切换。
import UIKit class MyRootViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. self.view.backgroundColor=UIColor.lightGrayColor() let btn=UIButton(frame: CGRectMake(20, 120, 320, 36)) btn.setTitleColor(UIColor.blackColor(), forState: UIControlState.Normal) btn.setTitle("返回", forState: UIControlState.Normal) btn.addTarget(self, action: "back", forControlEvents: UIControlEvents.TouchDown) self.view.addSubview(btn) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } func back(){ self.dismissViewControllerAnimated(true, completion: nil) } }
给他创建button用来返回。
接下来,我们给自带的ViewController添加四个Button分别测试四种切换方式
override func viewDidLoad() { super.viewDidLoad() let btn=UIButton(frame: CGRectMake(20, 100, 320, 36)) btn.setTitle("垂直切换", forState: UIControlState.Normal) btn.setTitleColor(UIColor.blackColor(), forState: UIControlState.Normal) btn.tag=90 btn.addTarget(self, action: "testAct:", forControlEvents: UIControlEvents.TouchDown) self.view.addSubview(btn) let btn1=UIButton(frame: CGRectMake(20, 150, 320, 36)) btn1.setTitle("旋转", forState: UIControlState.Normal) btn1.setTitleColor(UIColor.blackColor(), forState: UIControlState.Normal) btn1.tag=91 btn1.addTarget(self, action: "testAct:", forControlEvents: UIControlEvents.TouchDown) self.view.addSubview(btn1) let btn2=UIButton(frame: CGRectMake(20, 200, 320, 36)) btn2.setTitle("淡入淡出", forState: UIControlState.Normal) btn2.setTitleColor(UIColor.blackColor(), forState: UIControlState.Normal) btn2.tag=92 btn2.addTarget(self, action: "testAct:", forControlEvents: UIControlEvents.TouchDown) self.view.addSubview(btn2) let btn3=UIButton(frame: CGRectMake(20, 250, 320, 36)) btn3.setTitle("翻页", forState: UIControlState.Normal) btn3.setTitleColor(UIColor.blackColor(), forState: UIControlState.Normal) btn3.tag=93 btn3.addTarget(self, action: "testAct:", forControlEvents: UIControlEvents.TouchDown) self.view.addSubview(btn3) }
func testAct(b:UIButton){ let rootVC=MyRootViewController() if(b.tag==90){ rootVC.modalTransitionStyle = .CoverVertical }else if(b.tag==91){ rootVC.modalTransitionStyle = .FlipHorizontal }else if(b.tag==92){ rootVC.modalTransitionStyle = .CrossDissolve }else if(b.tag==93){ rootVC.modalTransitionStyle = .PartialCurl } self.presentViewController(rootVC, animated: true, completion: nil) }
我们测试一下看效果吧。有问题欢迎加群讨论
苹果开发群 :414319235 欢迎加入 欢迎讨论问题