iOS页面切换动画实现方式。
1.使用
UIView animateWithDuration:animations:completion方法
[UIView animateWithDuration:0.2f animations:^{
detail.view.frame = CGRectMake(0, 0, detail.view.frame.size.width, detail.view.frame.size.height);
} completion:^(BOOL finished) {
UITableViewCell *cell = [articleTable cellForRowAtIndexPath:idx];
cell.backgroundColor = [UIColor clearColor];
}];
2.使用UIView beginAnimations:context和UIView commitAnimations方法
[UIView beginAnimations:nil context: nil];
[UIView setAnimationDuration:1.0];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];//指定动画曲线
[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.view cache:YES];//指定动画方式为卷帘向下,类似的动画切换方式有CurlUp、FlipFromLeft、FlipFromRight,对应Apple Developer Documents中的枚举结构如下
//UIViewAnimationTransition
//Specifies a transition to apply to a view in an animation block.
//typedef enum {
// UIViewAnimationTransitionNone,
// UIViewAnimationTransitionFlipFromLeft,
// UIViewAnimationTransitionFlipFromRight,
// UIViewAnimationTransitionCurlUp,
// UIViewAnimationTransitionCurlDown,
//} UIViewAnimationTransition;
//要动画改变的属性
self.view.alpha = 0.0;//动画改变透明度
self.view.frame = CGRectMake(10, 10, 50, 50);//动画将视图改变到指定位置指定大小
[self.view exchangeSubviewAtIndex:1 withSubviewAtIndex:0];
[UIView commitAnimations];//提交动画
3.使用QuartzCore框架中的CATransition
CATransition *animation = [CATransition animation];
animation.delegate = self;
animation.duration = kDuration;
animation.timingFunction = UIViewAnimationCurveEaseInOut;//动画的开始与结束的快慢
animation.type = kCATransitionFade;//指定动画方式为Fade渐隐消去、类似还有kCATransitionPush、kCATransitionReveal、kCATransitionMoveIn、@"cube"、@"suckEffect"、@"oglFlip"、@"rippleEffect"、@"pageCurl"、@"pageUnCurl"、@"cameraIrisHollowOpen"、@"cameraIrisHollowClose"等,
//pageCurl 向上翻一页
//pageUnCurl 向下翻一页
//rippleEffect 滴水效果
//suckEffect 收缩效果,如一块布被抽走
//cube 立方体效果
//oglFlip 上下翻转效果
//cameraIrisHollowOpen 相机打开效果
//cameraIrisHollowClose 相机关闭效果
Apple Developer Documents中介绍如下
//Common Transition Types
//These constants specify the transition types that can be used with the type property.
//NSString * const kCATransitionFade;
//NSString * const kCATransitionMoveIn;
//NSString * const kCATransitionPush;
//NSString * const kCATransitionReveal;
animation.subtype = kCATransitionFromLeft;//指定动画进行方向从左边开始,类似还有kCATransitionFromBottom、kCATransitionFromRight、kCATransitionFromTop,Apple Developer Documents中介绍如下
//Common Transition Subtypes
//These constants specify the direction of motion-based transitions. They are used //with the subtype property.
//NSString * const kCATransitionFromRight;
//NSString * const kCATransitionFromLeft;
//NSString * const kCATransitionFromTop;
//NSString * const kCATransitionFromBottom;
[self.view exchangeSubviewAtIndex:1 withSubviewAtIndex:0];
[[self.view layer] addAnimation:animation forKey:@"animation"];
分享到:
相关推荐
- [iOS动画和特效(一)UIView动画和CoreAnimation](http://liuyanwei.jumppo.com/2015/10/30/iOS-Animation-UIViewAndCoreAnimation.html) - [iOS动画和特效(二)UIKit力学行为]...
标题《A_GUIDE_TO_IOS_ANIMATION_2.0.pdf》揭示了这份文档是一本关于iOS动画的学习手册的第二版。文档的副标题为“Kitten的iOS 动画学习手册”,说明这份手册是基于Kitten这个名字的作者所编写。通过“中文高清彩板...
"swift-iOS动画库的精选列表"是一个汇集了优秀Swift动画库的资源集合,旨在帮助开发者们在项目中引入高质量的动画效果。 首先,我们要了解Swift中的动画基础。Swift内置了UIKit框架,其中`UIView`类包含了基本的...
《Swift中的iOS动画集合库——Spring深度解析》 在iOS应用开发中,动画效果往往能够提升用户体验,使得交互更加生动有趣。"实用,易用的 iOS 动画集合库.zip" 提供了一个名为Spring的开源项目,专为Swift开发者设计...
本资源"iOS动画效果集 - CA360.zip"包含了一系列基于Objective-C编写的`Core Animation`示例,旨在帮助开发者深入理解和运用这个框架。 `Core Animation`并非只是简单的2D动画库,而是通过图层(Layers)和渲染树...
Hero的开源特性意味着开发者可以查看其源代码,了解底层实现,这对于学习iOS动画编程和优化性能非常有帮助。同时,社区支持和持续更新也是开源项目的一大优势,开发者可以利用GitHub等平台提出问题、报告bug、请求新...
"iOS动画-animation1"可能是一个关于如何在iOS应用中创建和使用基本动画的教程或项目示例。在这里,我们将深入探讨iOS动画的基础知识,包括Core Animation、UIView动画以及CAAnimation的相关概念。 1. **Core ...
首先,iOS动画主要基于Core Animation框架,这是一个强大的2D图形渲染引擎,能够实现平滑、高效的动画效果。在iOS中,有两种主要类型的动画:视图动画(UIView animation)和层动画(CALayer animation)。视图动画...
"iOS动画源码"这个主题深入探讨了iOS系统中的动画实现技术,包括Core Animation、UIKit Dynamics以及自定义动画等。这里我们将详细解析这些动画技术,并提供相关的源码实践。 一、Core Animation Core Animation是...
在iOS开发中,动画是提升用户体验的关键因素,它能让用户界面更加生动有趣。...通过研究"moveAndscale"这个示例,开发者可以学习到iOS动画的基础和高级技巧,从而在自己的应用中实现丰富的视觉效果。
IOS动画核心技术与案例实战
首先,我们需要理解iOS动画的基础。iOS中的动画主要基于Core Animation框架,这是一个强大的2D图形渲染系统,它可以创建出流畅、高性能的视觉效果。在Xcode项目中,我们通常会使用`UIView`类或其子类的`...
以下是关于“ios动画效果”的详细知识点: 1. **Core Animation**: iOS中的动画主要基于Core Animation框架,这是一个底层技术,负责处理2D图形渲染。通过Core Animation,开发者可以创建平滑、高性能的动画,包括...
在iOS动画中,BASE曲线指的是动画的时间曲线,通常指的是CAKeyframeAnimation中的timingFunction。这个属性决定了动画随时间变化的速度。常见的BASE曲线有线性、easeIn、easeOut、easeInOut等。线性曲线使动画以恒定...
1. iOS动画与用户交互的重要性:文档强调了iOS动画和用户交互在移动开发中的重要性。在iOS应用开发中,动画技术不仅能够提升用户体验,还可以增强用户界面的直观性和互动性。 2. 移动开发资源的匮乏:文件提到国内...
在iOS动画的学习中,关键帧动画是第四章的内容,这部分内容深入探讨了关键帧动画的实现和应用。在移动开发领域,尤其是iOS平台,关键帧动画是实现流畅用户体验的重要手段之一。由于国内相关的中文资料较为缺乏,加上...
"iOS动画梦幻星空"是一个项目,旨在模仿音乐应用《唱吧》启动时的星空闪烁效果。这个效果通过使用Core Animation框架中的CAEmitterLayer实现,为用户带来视觉上的梦幻感受,星星闪烁如同夜空中繁星点点,营造出一种...
在iOS开发中,动画是提升用户体验的关键因素之一。"ios 动画 时钟 波浪"这个主题涉及了三个核心概念:iOS平台上的动画实现、时钟动画以及波浪效果。下面将详细阐述这三个方面的知识。 首先,我们来探讨iOS中的动画...
总的来说,iOS动画特效是开发者手中的强大工具,能够显著提升应用的用户体验。通过熟练掌握Core Animation、SpriteKit、SceneKit等框架,以及粒子系统、曲线运动等技术,可以创造出丰富多样的视觉表现,使应用在竞争...
本教程以"iOS动画小demo"为主题,将深入探讨如何在iOS应用中实现简单且实用的动画,尤其是如何在UITableView的Cell中添加动画效果,以及如何在用户交互下控制动画的展示。 首先,我们要了解iOS中的动画基本原理。...