小胖说事5------CATransition的用法

CATransition的type属性 

 1.#define定义的常量
     kCATransitionFade   交叉淡化过渡
     kCATransitionMoveIn 新视图移到旧视图上面
     kCATransitionPush   新视图把旧视图推出去
     kCATransitionReveal 将旧视图移开,显示下面的新视图 

 2.用字符串表示
     pageCurl            向上翻一页
     pageUnCurl          向下翻一页
     rippleEffect        滴水效果
     suckEffect          收缩效果,如一块布被抽走
     cube                立方体效果
     oglFlip             上下翻转效果  

- (void)MyCAnimation1 {   

    CATransition *animation = [CATransition animation];
    //动画时间
    animation.duration = 1.0f;
    //display mode, slow at beginning and end
    animation.timingFunction = UIViewAnimationCurveEaseInOut;
    //过渡效果
    animation.type = kCATransitionMoveIn;
    //过渡方向
    animation.subtype = kCATransitionFromTop;
    //添加动画
    [imageView.layer addAnimation:animation forKey:nil];
}  

- (void)MyCAnimation2 {   

    CATransition *animation = [CATransition animation];
    //动画时间
    animation.duration = 1.0f;
    //display mode, slow at beginning and end
    animation.timingFunction = UIViewAnimationCurveEaseInOut;
    //在动画执行完时是否被移除
    animation.removedOnCompletion = NO;
    //过渡效果
    animation.type = @"pageCurl";
    //过渡方向
    animation.subtype = kCATransitionFromRight;
    //暂时不知,感觉与Progress一起用的,如果不加,Progress好像没有效果
    animation.fillMode = kCAFillModeForwards;
    //动画停止(在整体动画的百分比).
    animation.endProgress = 0.7;
    [imageView.layer addAnimation:animation forKey:nil];
}  

- (void)MyCAnimation3 {   

    CATransition *animation = [CATransition animation];
    //动画时间
    animation.duration = 1.0f;
    //display mode, slow at beginning and end
    animation.timingFunction = UIViewAnimationCurveEaseInOut;
    //过渡效果
    animation.type = @"pageUnCurl";
    //过渡方向
    animation.subtype = kCATransitionFromRight;
    //暂时不知,感觉与Progress一起用的,如果不加,Progress好像没有效果
    animation.fillMode = kCAFillModeBackwards;
    //动画开始(在整体动画的百分比).
    animation.startProgress = 0.3;
    [imageView.layer addAnimation:animation forKey:nil];
}  

时间: 2024-11-08 18:18:59

小胖说事5------CATransition的用法的相关文章

小胖说事35-----Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer posi

2011-06-11 15:19:17.167 ***[930:707] *** Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer position contains NaN: [160 nan]' *** Call stack at first throw: ( 0   CoreFoundation                      0x3365d64f __exce

小胖说事35-----Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer posi

2011-06-11 15:19:17.167 ***[930:707] *** Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer position contains NaN: [160 nan]' *** Call stack at first throw: ( 0   CoreFoundation                      0x3365d64f __exce

小胖说事24-----property's synthesized getter follows Cocoa naming convention for returning 'owned' objec

今天在给类的属性命名的时候,用了newValue,就给报错:property's synthesized getter follows Cocoa naming convention for returning 'owned' objects,一阵郁闷不知道咋回事,后来查了资料后,原来是命名规范的事情: You own any object you create You create an object using a method whose name begins with "alloc&q

小胖说事28------iOS中extern,static和const区别和用法

通俗的讲: extern字段使用的时候,声明的变量为全局变量,都可以调用,也有这样一种比较狭义的说法:extern可以扩展一个类中的变量到另一个类中: static声明的变量是静态变量,变量值改变过之后,保存这次改变,每次使用的时候都要读取一遍值: const声明过得变量值是不可改变的,是readonly的属性,不可以改变变量的值. 具体用法: 1.static的用法:static NSString *str = @"哈哈"; 2.const的用法:NSString *const st

小胖说事20--------GCD笔记

1.系统提供的dispatch方法 为了方便的使用GCD,苹果提供了一些方法方便我们将BLOCK放在主线程或者后台程序执行,或者延后执行. //后台执行: dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ //something }); //主线程执行 dispatch_async(dispatch_get_main_queue(), ^{ //something }); //一次执行

小胖说事19------Xcode插件管理

Alcatraz 是一个 Xcode 上开源的包管理器(package manager),你可以用它去发现或者安装插件.模板.颜色主题等,而不必手动地克隆复制文件.它和 Xcode 无缝整合在一起.现在 Alcatraz 支持 Xcode5 了. Alcatraz 源码地址在:  https://github.com/supermarin/Alcatraz 用法 从 Window 菜单中选择 Package Manager,然后可以选择(check)/撤销选择(uncheck)去安装或者移除插件

小胖说事29-----iOS中Navigation中左滑pop页面的三种方法

1.系统自带pop方法">系统自带pop方法 如果我们没有对navigation中的back按钮进行自定义,我们可以直接使用系统自带的左滑pop方法.但是如果我们对back按钮,进行了自定义,我们就要对self.navigationController.interactivePopGestureRecognizer这个属性进行设置了.关键代码: __weak typeof(self) weakSelf = self; self.navigationController.interactiv

小胖说事30------iOS 强制转成横屏的方式

一直遇到这个问题,今天最终找到了解决方法. 在我们的项目中常常遇到横竖屏切换,而又有某个特定的界面必须是特定的显示方式(横屏或竖屏).这就须要例如以下的处理了. 强制转成横屏: if ([[UIDevice currentDevice] respondsToSelector:@selector(setOrientation:)]) { SEL selector = NSSelectorFromString(@"setOrientation:"); NSInvocation *invoc

小胖说事28------iOS中extern,static和const差别和使用方法

通俗的讲: extern字段使用的时候,声明的变量为全局变量,都能够调用,也有这样一种比較狭义的说法:extern能够扩展一个类中的变量到还有一个类中: static声明的变量是静态变量,变量值改变过之后,保存这次改变,每次使用的时候都要读取一遍值. const声明过得变量值是不可改变的.是readonly的属性,不能够改变变量的值. 详细使用方法: 1.static的使用方法:static NSString *str = @"哈哈"; 2.const的使用方法:NSString *c