利用CATransition添加转换效果

来源:互联网 发布:mac文明6补丁包 编辑:程序博客网 时间:2024/05/17 23:07
////  ViewController.m//  Test////  Created by y on 2016/10/17.//  Copyright © 2016年 NJ. All rights reserved.//#import "ViewController.h"#import "SecondVC.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad {    [super viewDidLoad];    [_toSecodPage addTarget:self action:@selector(tonextPage:) forControlEvents:UIControlEventTouchUpInside];}-(void)tonextPage:(UIButton*)sender{    /*     duration:设置动画时间     type:稍后下面会详细的介绍运动类型     subtype:和type匹配使用,指定运动的方向,下面也会详细介绍     timingFunction :动画的运动轨迹,用于变化起点和终点之间的插值计算,形象点说它决定了动画运行的节奏,比如是均匀变化(相同时间变化量相同)还是先快后慢,先慢后快还是先慢再快再慢。     动画的开始与结束的快慢,有五个预置分别为(下同):     kCAMediaTimingFunctionLinear            线性,即匀速     kCAMediaTimingFunctionEaseIn            先慢后快     kCAMediaTimingFunctionEaseOut           先快后慢     kCAMediaTimingFunctionEaseInEaseOut     先慢后快再慢     kCAMediaTimingFunctionDefault           实际效果是动画中间比较快.     kCATransitionFade:褪色     kCATransitionMoveIn:和push类似     kCATransitionPush:推动.     kCATransitionReveal     */    CATransition *transtion = [CATransition animation];    transtion.duration = 3.0f;    transtion.timingFunction =[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut];    transtion.type = kCATransitionReveal;    transtion.subtype = kCATransitionFromRight;    [self.navigationController.view.layer addAnimation:transtion forKey:nil];    SecondVC * secondVC = [[UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]] instantiateViewControllerWithIdentifier:@"SecondVC"];    [self.navigationController pushViewController:secondVC animated:true];}@end
原创粉丝点击