IOS实现动画的几种简单方式:
1.通过QuadCurveMenuItem实现弹出按钮的效果
NSMutableArray *items = [NSMutableArrayarray];
for (int i = 1; i < 5; i++) {
UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"home_h_btn%d.png", (5-i)]];
QuadCurveMenuItem *item = [[QuadCurveMenuItemalloc] initWithImage:image
highlightedImage:image
ContentImage:image
highlightedContentImage:nil];
[items addObject:item];
[item release];
}
CGRect f = CGRectMake(60, 80,33, 33);
HomeQuadCurveMenu *_menu = [[HomeQuadCurveMenualloc] initWithFrame:f menus:items];
_menu.delegate = self;
[_mainPage addSubview:_menu];
[_menu release];
2.通过CABasicAnimation实现平移、旋转、放大
1.旋转
self.view.backgroundColor = [UIColorgreenColor];
CABasicAnimation *ani = [CABasicAnimationanimationWithKeyPath:@"transform.rotation.z"];
ani.fromValue = [NSNumbernumberWithFloat:0];
ani.toValue = [NSNumber numberWithFloat:M_PI*2];
ani.autoreverses = NO;
ani.duration = 10;
ani.repeatCount = 10;
2.平移
CABasicAnimation *ani2 = [CABasicAnimationanimationWithKeyPath:@"transform.translation.x"];
ani2.fromValue = [NSNumber numberWithFloat:0];
ani2.toValue = [NSNumber numberWithFloat:300];
ani2.autoreverses = NO;
ani2.duration = 10;
ani2.repeatCount = 10;
3.放大
CABasicAnimation *ani3 = [CABasicAnimationanimationWithKeyPath:@"transform.scale"];
ani3.fromValue = [NSNumber numberWithFloat:0];
ani3.toValue = [NSNumber numberWithDouble:20];
ani3.autoreverses = NO;
ani3.duration = 10;
ani3.repeatCount = 10;
ani3.speed = 0.5f;
[_rotateImgView.layer addAnimation:ani forKey:@"rotate"];
[_rotateImgView2.layer addAnimation:ani2 forKey:@"animateLayer"];
[_rotateImgView3.layer addAnimation:ani3 forKey:@"sss"];
[_rotateImgView release];
[_rotateImgView2 release];
[_rotateImgView3 release];
3.移动页面位置的动画
void (^animations)(void) = ^{
self.mainPage.transform = CGAffineTransformMakeTranslation(199, 0);};
void (^complete)(BOOL) = ^(BOOL finished) {
self.mainPage.transform = CGAffineTransformMakeTranslation(0, 0);
};
[UIViewanimateWithDuration:2animations:animations completion:complete];
这种动画的书写方式也可以是
[UIViewanimateWithDuration:2animations:^{
self.mainPage.transform = CGAffineTransformMakeTranslation(199, 0);
} completion:^(BOOL finished) {
[UIViewanimateWithDuration:0.2delay:0.1foptions:UIViewAnimationOptionCurveEaseInanimations:^{
self.mainPage.transform = CGAffineTransformMakeTranslation(0, 0);
} completion:^(BOOL finished) {
}];
}];
4.创建简单的动画
[self.view exchangeSubviewAtIndex:0 withSubviewAtIndex:1];
//UIView开始动画,第一个参数是动画的标识,第二个参数附加的应用程序信息用来传递给动画代理消息
[UIView beginAnimations:@"View Flip" context:nil];
//动画持续时间
[UIView setAnimationDuration:1.25];
//设置动画的回调函数,设置后可以使用回调方法
[UIView setAnimationDelegate:self];
//设置动画曲线,控制动画速度
[UIView setAnimationCurve: UIViewAnimationCurveEaseInOut];
//设置动画方式,并指出动画发生的位置
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES];
//提交UIView动画
[UIView commitAnimations];
5.自定义cell时可通过以下方法绘制简单的图形
- (void)drawRect:(CGRect)rect
{
CGRect fillRect = CGRectMake(10, 10, 298, cellHeight-20);
float radius = 3;
UIBezierPath *fillPath = [UIBezierPath bezierPathWithRoundedRect:fillRect cornerRadius:radius];
[[UIColor whiteColor] setFill];
[RgbHex2UIColor(237, 237, 237) setStroke];
[fillPath setLineWidth:2.0f];
[fillPath stroke];
[fillPath fill];
}
相关推荐
总结,Swift-iOS动画涉及的内容广泛,从简单的UIView动画到复杂的Core Animation、SceneKit,再到第三方库,都为开发者提供了丰富的工具和可能性。通过实践和学习这些Demo,开发者可以创造出更加生动、有趣的iOS应用...
这份“iOS动画总结.zip”文件包含了一个名为“IOSAnimationDemo-master”的开源项目,它旨在全面介绍和展示了iOS平台上的各种动画技术。下面我们将深入探讨这个项目所涵盖的知识点。 首先,iOS中的动画可以分为两大...
总结,iOS中显示GIF动画可以通过第三方库如FLAnimatedImage和SDWebImage,或者自定义解析实现。为了保证良好的用户体验,需要关注性能优化和兼容性问题。在实际项目中,根据需求和项目规模选择合适的解决方案。
总结来看,iOS核心动画高级技巧不仅是一本介绍如何制作动画的书籍,它还涉及了动画背后的图形渲染和性能优化知识。通过图层树的概念,读者可以理解iOS动画的原理;而通过寄宿图和视觉效果的讲解,可以了解如何给图层...
总结,iOS自定义动画的实现涉及Core Animation、视图动画等多个层面,需要理解图层与动画的关系,遵循良好的动效设计原则,并通过实践项目不断探索和优化。AnimatTabbarSample项目为我们提供了一个具体的案例,帮助...
总结来说,"iOS动画源码"涵盖了iOS动画开发的主要方面,从基本的Core Animation和UIKit Dynamics,到自定义动画和性能优化,再到复杂的动画组合和转场动画。通过研究这些源码,开发者不仅可以提升自己的动画技能,还...
总结来说,"iOS 键盘平滑动画.zip"是一个用于优化UIViewController中键盘动画的开源库,它通过监听键盘事件并执行自定义动画,提升了用户在输入时的交互体验。通过这个项目,开发者可以轻松地为自己的应用增加这种...
"ios 动画总结"这个主题涵盖了移动、渐变、弹出等常见的动画效果。这些动画技术主要基于苹果的UIKit框架,尤其是UIView类,因为它提供了丰富的动画接口。 首先,我们来看移动动画。在iOS中,我们可以使用`UIView`的...
总结起来,iOS动画效果的集成涵盖了从简单的视图动画到复杂的自定义动画。开发者可以根据实际需求选择适合的方法,为应用添加动态效果,提升用户的视觉体验。同时,合理运用动画还能有效引导用户操作,使交互过程...
总结,Spring库是Swift开发者在iOS平台上实现动画效果的得力工具,它的易用性和灵活性使得开发者能够快速创建出丰富多样的动画效果,提升应用的用户体验。无论你是初学者还是经验丰富的开发者,Spring都值得你纳入你...
"ios-简单动画效果Repeat 和 Autoreverse.zip"这个压缩包文件包含了一个示例项目——AnimationDemo,它着重展示了如何使用iOS的Core Animation框架来创建重复并自动反向播放的视图动画。让我们详细探讨一下这个知识...
总结,iOS动画效果是提升应用品质的重要手段。理解并熟练运用BASE曲线能够创建出更自然流畅的动画;合理复用动画资源可以优化性能;结合具体实例,如LLL.png,我们可以实践各种动画技巧,为用户提供更具吸引力的交互...
总结来说,"ios-动画demo.zip"中的SlideMenuDemo项目涵盖了iOS视图动画的基本概念和实践技巧,包括`UIView`动画、`CAAnimation`层动画、手势识别以及性能优化等。通过学习和研究这个示例,开发者可以更好地理解和...
总结来说,"ios-无聊的动画来回跑.zip"这个项目可能是一个演示如何使用iOS的视图动画技术创建一个来回跑的动画,并逐步加速的示例。开发者可能通过调整动画参数、使用关键帧或基础动画以及关注动画的流畅性和用户...
总结来说,"ios-动画秀.zip"中的内容可能涵盖了如何在iOS应用中使用Core Animation和UIView动画来创建各种视觉效果,特别是闪电效果,这对于提升应用的视觉吸引力和用户体验非常有价值。开发者可以通过学习这些示例...
总结来说,iOS中的视图反转动画是通过UIViewAnimation和CATransition实现的,能够为页面切换提供平滑过渡,提高用户界面的交互性。合理运用视图反转动画,不仅能提升应用的美观度,还能优化用户体验。在实际开发中,...
总结来说,"ios-爱心动画.zip"中的内容很可能是关于如何在iOS应用中使用Core Animation或SwiftUI创建一个具有视觉吸引力的爱心动画。这涉及到图形绘制、动画原理以及如何将动画与用户界面元素相结合的知识。通过学习...
总结来说,实现iOS上的水流效果涉及多个技术层面,包括Core Animation的动画控制、Box2D物理引擎的应用、图像处理和用户交互设计,以及性能优化策略。通过综合运用这些知识点,开发者可以创建出既美观又流畅的水流...