UIViewController 切换及简单动画
2015-11-09 13:38
507 查看
UIViewController应该是我们最常用的。
那么最简单的切换方式是什么了?
func presentViewController(viewControllerToPresent: UIViewController, animated flag: Bool, completion: (() -> Void)?)
同时可以设置一些简单动画,淡入淡出,翻页等等
我们首先创建一个项目,他会有一个自带的视图控制器ViewController
然后我们再创建视图控制器用来切换。
[objc] view
plaincopy
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)
}
}
我们可以看到这个类很简单就是一个UIViewController的子类。
给他创建button用来返回。
接下来,我们给自带的ViewController添加四个Button分别测试四种切换方式
[objc] view
plaincopy
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)
}
button点击后对应的方法如下
[objc] view
plaincopy
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)
}
其中modalTr5ansitionStyle 是一个枚举,有四个值,分别代表四种奇幻方式
那么最简单的切换方式是什么了?
func presentViewController(viewControllerToPresent: UIViewController, animated flag: Bool, completion: (() -> Void)?)
同时可以设置一些简单动画,淡入淡出,翻页等等
我们首先创建一个项目,他会有一个自带的视图控制器ViewController
然后我们再创建视图控制器用来切换。
[objc] view
plaincopy
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)
}
}
我们可以看到这个类很简单就是一个UIViewController的子类。
给他创建button用来返回。
接下来,我们给自带的ViewController添加四个Button分别测试四种切换方式
[objc] view
plaincopy
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)
}
button点击后对应的方法如下
[objc] view
plaincopy
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)
}
其中modalTr5ansitionStyle 是一个枚举,有四个值,分别代表四种奇幻方式
相关文章推荐
- UIViewController 切换及简单动画
- opencv4android 中 Highgui.imread not found 的问题
- 移动端 UI 适配最佳实践(上)
- UIView使用CALayer添加单独一边
- Handler,Looper,Message,MessageQueue,Thread机制的深入理解(举例说明)
- Deploy .Net project automatically with MsBuild and MsDeploy (1)
- 在request中获取项目路径
- UI界面-绝对布局
- UIView,UIButton,UIImageView等设置圆角,设置阴影,设置边框的方法
- iOS [UIScreen mainScreen].scale
- UIView 属性和方法
- FineUI(开源版)v4.2.2发布(8年125个版本,官网示例突破300个)!
- 设置 UISearchBar 输入字体颜色 和 默认字体颜色
- UIalertController日期控件
- AlertDialog.Builder对话框类的用法
- iOS开发 获取手机信息(UIDevice,NSBundle,NSlocale)
- UI界面-表格布局
- 仿58同城UITableViewCell动画
- iOS 下,UILable自适应高度的方法
- 基本的UI控件和布局文件