storyBoard和用segue切换视图的方法
来源:互联网 发布:erp系统是什么软件 编辑:程序博客网 时间:2024/06/06 03:26
1.在storyBoard中拖两个视图控制器
2.在前一个视图控制器点击一下,再按住command键到第二个视图控制器中,会出现如下自定义线
3.选中该两个视图中的线,在标识符栏中定义一个标识符:push
4.创建一个继承自UIStoryBoardSegue的类,重写perform这个方法(该方法自动实现)
5.匹配该segue和自定义的类
6.根据segue的标识符实现两个视图的页面的动画切换
主要代码:
自定义segue类:CustomSegue:
.h文件
@interface CustomSegue : UIStoryboardSegue
@end
.m文件
#import "CustomViewController.h"
@implementation CustomSegue
#pragma mark--------------自定义segue会自动触发该方法
-(void)perform
{
//1.获取源视图控制器
UIViewController *v1 = (UIViewController *)self.sourceViewController;
//2.获取目的视图控制器
UIViewController *v2 = (UIViewController *)self.destinationViewController;
//3.自定义页面切换效果
[UIView transitionFromView:v1.view toView:v2.view duration:3 options:UIViewAnimationOptionTransitionFlipFromRight completion:^(BOOL finished) {
NSLog(@"实现了页面间的动画切换效果");
}];
}
第一个视图控制器的.m文件(当触摸第一个视图控制器的视图时进行切换)
#import "ViewController.h"
#import "CustomViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
//触摸开始
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
#pragma mark-----------可视化编程页面跳转方法(storyBoard)
[self performSegueWithIdentifier:@"push" sender:nil];
}
#pragma mark----------------执行perform方法之前执行该方法
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
//获取源视图控制器
ViewController *v1 = (ViewController *)segue.sourceViewController;
//获取目的视图控制器
CustomViewController *v2 = (CustomViewController *)segue.destinationViewController;
#pragma mark------------判断segue的标志
if ([segue.identifier isEqualToString:@"push"]) {
NSLog(@"动画切换");
}
}
//注意:
segue有三个常用属性:
sourceViewController:源视图控制器
destinationViewController:目标视图控制器
identifier:标识符
三个方法(执行从前到后)
-(void)performSegueWithidentifier: sender:
-(void)prepareForSegue:sender: 该方法一般实现传值,在perform方法之前执行
-(void)perform;
@end
- storyBoard和用segue切换视图的方法
- 简单通过Storyboard的Segue做视图切换动画
- Storyboard里面的几种Segue区别及视图的切换:push,modal,popover,replace和custom
- Storyboard里面的几种Segue区别及视图的切换:push,modal,popover,replace和custom
- Storyboard里面的几种Segue区别及视图的切换:push,modal,popover,replace和custom
- Storyboard里面的几种Segue区别及视图的切换:push,modal,popover,replace和custom
- Storyboard里面的几种Segue区别及视图的切换:push,modal,popover,replace和custom
- Storyboard里面的几种Segue区别及视图的切换:push,modal,popover,replace和custom
- Storyboard里面的几种Segue区别及视图的切换:push,modal,popover,replace和custom
- Storyboard里面的几种Segue区别及视图的切换:push,modal,popover,replace和custom
- Storyboard里面的几种Segue区别及视图的切换:push,modal,popover,replace和custom
- Storyboard里面的几种Segue区别及视图的切换:push,modal,popover,replace和custom
- Storyboard里面的几种Segue区别及视图的切换:push,modal,popover,replace和custom
- Storyboard里面的几种Segue区别及视图的切换:push,modal,popover,replace和custom
- Storyboard里面的几种Segue区别及视图的切换:push,modal,popover,replace和custom
- Storyboard里面的几种Segue区别及视图的切换:push,modal,popover,replace和custom 2012
- Storyboard里面的几种Segue区别及视图的切换:push,modal,popover,replace和custom
- Storyboard里面的几种Segue区别及视图的切换:push,modal,popover,replace和custom
- [PAT]1096. Consecutive Factors (20)
- 20151004模拟赛总结
- style与theme
- 引用、取址运算符、解引用运算符——傻傻分不清楚
- C语言中需要注意的小知识(一)
- storyBoard和用segue切换视图的方法
- 为什么要用Lua脚本呢?(一)
- leetcode | Climbing Stairs
- 数据结构——排序
- php对象在内存中的分配
- java集合框架之链表
- storm-starter中的RollingTopWords代码解析
- 二叉排序树转化成双链表
- 闪讯利用openwrt路由器拨号教程(五)