http://mobile.51cto.com/iphone-285320.htm
iPhone开发中关于UIView Animation实现效果是本文要介绍的内容,主要是来学习UIView Animation一连串的实现效果,具体内容我们来看本文如何实现。之前受某人影响以为一连串的UIView Animation 只能这么写:
在某个animation 设置delegate ,然后在 delegate 函数中再调用另一个函数。
今天偷闲决定看 iPhone cookbook 代码查漏补缺下,结果发现这代码:
C代码
- // Hide the bar button and show the view
-
self.navigationItem.rightBarButtonItem = nil;
- [self.view viewWithTag:101].alpha = 1.0f;
-
- // Bounce to 115% of the normal size
- [UIView beginAnimations:nil context:UIGraphicsGetCurrentContext()];
- [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
- [UIView setAnimationDuration:0.4f];
- [self.view viewWithTag:101].transform = CGAffineTransformMakeScale(1.15f, 1.15f);
- [UIView commitModalAnimations];
-
- // Return back to 100%
- [UIView beginAnimations:nil context:UIGraphicsGetCurrentContext()];
- [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
- [UIView setAnimationDuration:0.3f];
- [self.view viewWithTag:101].transform = CGAffineTransformMakeScale(1.0f, 1.0f);
- [UIView commitModalAnimations];
-
- // Pause for a second and appreciate the presentation
- [NSThread sleepUntilDate:[NSDate dateWithTimeIntervalSinceNow:1.0f]];
-
- // Slowly zoom back down and hide the view
- [UIView beginAnimations:nil context:UIGraphicsGetCurrentContext()];
- [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
- [UIView setAnimationDuration:1.0f];
- [self.view viewWithTag:101].transform = CGAffineTransformMakeScale(0.01f, 0.01f);
- [UIView commitModalAnimations];
-
- // Restore the bar button
- [self.view viewWithTag:101].alpha = 0.0f;
tnnd 原来可以这么写。
同时学到个新玩意。
C代码
- [NSThread sleepUntilDate:[NSDate dateWithTimeIntervalSinceNow:1.0f]];
PS. 原来这个例子就叫做 Modal View Animation 罪过罪过,搞了这么久iPhone还不知道这东西。
抱歉,看错了,原来是作者自己实现的方法,仔细一看原来
C代码
- commitModalAnimations
具体代码实现是这样的。
Java代码
- @interface UIViewDelegate : NSObject
- {
- CFRunLoopRef currentLoop;
- }
- @end
-
- @implementation UIViewDelegate
- -(id) initWithRunLoop: (CFRunLoopRef)runLoop
- {
- if (self = [super init]) currentLoop = runLoop;
- return self;
- }
-
- -(void) animationFinished: (id) sender
- {
- CFRunLoopStop(currentLoop);
- }
- @end
-
- @implementation UIView (ModalAnimationHelper)
- + (void) commitModalAnimations
- {
- CFRunLoopRef currentLoop = CFRunLoopGetCurrent();
-
- UIViewDelegate *uivdelegate = [[UIViewDelegate alloc] initWithRunLoop:currentLoop];
- [UIView setAnimationDelegate:uivdelegate];
- [UIView setAnimationDidStopSelector:@selector(animationFinished:)];
- [UIView commitAnimations];
- CFRunLoopRun();
- [uivdelegate release];
- }
- @end
小结:iPhone开发中关于UIView Animation实现效果的内容介绍完了,希望通过本文的学习能对你有所帮助!
分享到:
相关推荐
总的来说,`UIView`动画是iOS开发中实现视图动态效果的重要工具。通过学习和理解其工作原理,开发者可以创建出流畅、自然的用户界面,提升应用的整体质量。无论是简单的移动动画,还是复杂的交互式动画,`UIView`...
在iOS开发中,`UIView`是构建用户界面的基础,几乎所有的可见元素都基于它。`UIView`不仅负责绘制和显示内容,还处理用户的交互事件。以下是对标题和描述中涉及的`UIView`知识点的详细解释: 1. **Bounds和Frame的...
在iOS开发中,UI设计往往追求独特且富有动态感的效果,其中UIView的渐变效果就是一个常用的视觉技巧。本文将深入探讨如何在iOS中实现UIView的渐变效果,并介绍一个已经封装好的解决方案,允许开发者轻松地在应用中...
ShadowView 让你能够轻松在UIView上实现阴影效果
总的来说,这个项目涵盖了`UIView`的动态效果和用户交互,是iOS开发中常见且实用的技术点。通过学习和实践这一部分,开发者可以更好地掌握界面的动态设计和用户体验的提升,同时也能为更复杂的动画和交互打下基础。...
标题中的"swift-Twinkle-✨一个Swift和简单的方法能让任何UIView产生闪烁效果"指出了这个库的核心功能:用Swift编写,提供一种简洁的方式,使任何UIView对象都能实现闪烁效果。这使得开发者无需深入学习复杂的动画...
这篇博文“iPhone开发UIView”可能深入探讨了`UIView`及其在iPhone应用中的使用。`UIView`不仅是一个可视化的元素,也是事件处理、动画和视图控制器结构的关键部分。下面,我们将详细讨论与`UIView`相关的知识点。 ...
本示例“iOS中UIView的翻页动画demo”旨在演示如何为UIView实现逼真的翻页效果,让用户体验如同翻阅实体书页一样的平滑过渡。在实际应用中,这种动画效果通常用于电子书籍、杂志应用或任何需要模拟页面翻动的地方。 ...
在iOS开发中,自定义UIView的阴影效果是一个常见的需求,它可以为UI元素增添层次感和专业性。在本文中,我们将深入探讨如何实现这个功能,包括设置阴影颜色、阴影偏移、阴影透明度以及阴影半径等关键参数。 首先,...
在iOS开发中,UI设计和用户体验是至关重要的因素之一,其中动画效果的运用可以极大地提升应用的视觉吸引力和用户交互性。"ios-UIView添加弹簧效果.zip"这个压缩包文件显然是一个关于如何在iOS应用中为UIView添加弹簧...
在iOS开发中,UIView的动画效果是提升用户体验的重要手段之一,尤其在视图切换时,翻转动画可以带来富有立体感和平滑过渡的视觉效果。本主题将详细讲解如何实现"ios UIView翻转动画效果",以及如何在实际项目中应用...
在iOS开发中,实现视图(UIView)或控制器(UIViewController)的缩放动画效果是常见的交互设计,可以增强用户体验并使界面更具动态美感。这里我们将深入探讨如何在iOS应用中创建这种效果,以及如何通过自定义Dome...
这是一个ios动画开发的demo(请在github上获取最新代码),内容有 -uiview动画 -CoreAnimation基本动画 -关键帧动画 -TransferAnimation 文章对应的开发说明 ...
UIView 震动动画效果 AFViewShaker ,AFViewShaker 是一个简单的工具用来执行 。 使用方法: AFViewShaker *...
在iOS开发中,UICircularSlider是一种常见的UI控件,用于创建圆形的滑动选择器。这个组件可以为用户界面增添独特的视觉效果和交互体验。本文将深入探讨如何使用UICircularSlider,并结合UIView+Animation进行几个...
综上所述,这个"iPhone开发 动画类库"资源很可能包含了实现上述动画效果的源代码,可以快速集成到你的项目中,帮助你轻松创建出旋转、翻滚和渐变等各种动态效果。在使用时,确保理解每个动画函数的工作原理,并根据...
另外,可能会涉及动画效果的实现,如UIView动画和Core Animation,以及如何利用Photos和Camera框架处理图像。 总之,《iPhone App开发实战手册》中文高清版是一本全面的iOS开发教程,从基础到进阶,从理论到实践,...
"iPhone动态效果demo"是一个示例项目,展示了如何在iPhone应用中实现三种炫酷的动态效果。这个项目包含源代码,对于学习和理解iOS中的动画技术非常有帮助。下面将详细探讨这些动态效果以及相关的iOS编程知识点。 ...
在iOS开发中,实现UIView的镂空效果是一种常见的需求,特别是在设计复杂的用户界面时。本文主要探讨如何通过一行代码实现这种效果,同时介绍其背后的实现原理。首先,我们需要回顾一下遮罩效果的基本概念。遮罩效果...
另外,Core Animation和UIView动画方法也是常用的动画实现途径。 推送通知服务(Push Notification Service, PN)是连接服务器和应用的重要桥梁,通过APNs(Apple Push Notification service)实现。开发者需要理解...