`
lizaochengwen
  • 浏览: 663041 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用NSTimer与UIView的动画,实现飘雪效果

阅读更多
使用NSTimer与iphone的简单动画,实现飘雪效果,这理原理比较简单,就是定时生成一定的雪花图片,然后使用动画的方式向下漂落(我在其它论坛,看到使用path的方式实现的一个云漂来漂去的效果,实际也可以用那种方式实现,这实际就是前面说的动画效果的两种应用)。所以,我们可以在viewDidLoad事件中,增加一个图片及定时器并启动,这里的pic请在头文件中定义。
-(void)viewDidLoad{
[super viewDidLoad];
self.pic = [UIImage imageNamed:@"snow.png"];//初始化图片
//启动定时器,实现飘雪效果
[NSTimer scheduledTimerWithTimeInterval:(0.2) target:self selector:@selector(ontime) userInfo:nil repeats:YES];
}
然后再实现定时器定时调用的ontime方法:
-(void)ontime{
UIImageView *view = [[UIImageView alloc] initWithImage:pic];//声明一个UIImageView对象,用来添加图片
view.alpha = 0.5;//设置该view的alpha为0.5,半透明的
int x = round(random()%320);//随机得到该图片的x坐标
int y = round(random()%320);//这个是该图片移动的最后坐标x轴的
int s = round(random()%15)+10;//这个是定义雪花图片的大小
int sp = 1/round(random()%100)+1;//这个是速度
view.frame = CGRectMake(x, -50, s, s);//雪花开始的大小和位置
[self.view addSubview:view];//添加该view
[UIView beginAnimations:nil context:view];//开始动画
[UIView setAnimationDuration:10*sp];//设定速度
view.frame = CGRectMake(y, 500, s, s);//设定该雪花最后的消失坐标
[UIView setAnimationDelegate:self];
[UIView commitAnimations];
}
原文地址:http://www.voland.com.cn/the-use-of-a-simple-nstimer-with-uiview-animation-effects-to-achieve-snowing
分享到:
评论

相关推荐

    iOS实现轮盘动态效果

    iOS实现轮盘动态效果需要使用到多种技术,包括iOS平台上的绘图和动画技术、使用定时器实现动画效果、自定义UIView实现轮盘动态效果、使用UILabel实现评价标签、使用NSTimer实现动画延迟等。只有掌握这些技术,才能...

    ios-印象笔记动画效果.zip

    本资源"ios-印象笔记动画效果.zip"包含了一个名为"EvernoteAnimation"的项目,旨在帮助开发者深入理解并实现与印象笔记类似的高质量视图动画。 1. **视图动画基础**: 视图动画是iOS应用中常见的一种用户界面动态...

    iOS开发之弹簧效果的动画

    代码实现上,我们可以使用`animate(withDuration:delay:usingSpringWithDamping:initialSpringVelocity:options:animations:completion:)`这个UIView的动画方法来创建弹簧效果。例如: ```swift UIView.animate...

    抖音短视频加载动画

    此外,为了使动画更加流畅,开发者可能会使用CADisplayLink或者NSTimer来精确控制动画帧率。这种方式可以确保动画在不同设备上表现一致,特别是在高性能要求的场景下。 在压缩包文件"DouYinLoadBar"中,可能包含了...

    简单的时间选择器Nstimer

    创建`NSTimer`通常使用`scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:`方法,参数包括时间间隔、目标对象、选择器、用户信息和是否重复。例如: ```swift let timer = Timer.scheduledTimer...

    ios-贝塞尔曲线实现渐变动画效果.zip

    为了实现动画,我们将使用`UIView`的动画方法,如`animate(withDuration:animations:)`或`UIViewPropertyAnimator`。这些方法允许我们在指定的时间内改变视图的属性,如位置、大小或透明度。在我们的场景中,我们...

    ios基础动画

    图层可以叠加,具有透明度、变换、内容等属性,使得动画实现更加灵活。 2. UIView动画: UIView动画是iOS开发中最常用的动画方式,它基于UI视图进行操作。UIView动画主要包括基本动画、关键帧动画、组合动画等。...

    swift-RippleEffectView屏幕加载动画实现类似Uber的涟漪效果

    7. **动画执行**:通过修改渐变层的内径、透明度等属性,配合`UIView.animate(withDuration:animations:)`或`CATransaction`来实现动画效果。 在提供的压缩包文件`alsedi-RippleEffectView-76f14ee`中,可能包含了...

    ios动画效果

    通过修改CALayer的属性(如位置、大小、旋转角度、透明度等)并使用`CATransaction`来安排动画,可以实现各种动画效果。 3. **UIView动画**: 对于简单的动画,如移动、缩放、旋转,可以使用UIView的`...

    ios-水波扩散效果.zip

    然而,由于其局限性,单纯使用UIView动画可能无法实现水波扩散的细腻动态效果。 2. Core Animation: Core Animation允许我们对CALayer进行更底层的操作,能够实现更为复杂和高性能的动画。水波扩散效果可以通过...

    动画效果demo

    这可以通过实现`CAAnimationDelegate`协议来完成,或者直接使用`CADisplayLink`或`NSTimer`来控制每一帧的更新。"动画效果demo"可能展示了如何自定义动画曲线、动画速度以及更复杂的交互响应。 五、互动动画 在某些...

    NSTimer实现的小计时器

    这在实现倒计时、动画效果或者周期性任务时非常有用。`NSTimer`不是线程安全的,通常在主线程中创建和触发。 二、创建NSTimer的类方法 1. `+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)interval ...

    iOS 文字动画(每个字逐个显示)

    - **计时与动画**:通过CADisplayLink或NSTimer设置定时器,每次定时器触发时,绘制下一个字符。为了平滑过渡,还可以使用CAKeyframeAnimation或者UIView animations来调整字符出现的动画效果。 2. **添加挡板效果...

    iOS开机动画

    在创建开机动画时,我们通常会自定义一个视图类,继承自UIView,并在其内部添加图层来实现动画效果。 "心跳"动画通常指的是视图的大小或颜色随时间周期性变化,模拟心脏跳动的效果。这可以通过改变图层的frame、...

    ios-彩色渐变旋转圆盘.zip

    2. 使用UIView动画实现旋转效果,通过修改transform的rotation属性。 3. 使用`CADisplayLink`或`NSTimer`保持动画持续进行。 4. 实时更新颜色数组,实现颜色的动态变化。 5. 考虑性能优化,避免频繁的视图重绘。 在...

    NSTimer实现图片幻灯片效果(仿腾讯新闻图片ppt效果)

    模仿腾讯新闻图片频道的图片浏览的幻灯片效果.

    iOS 开发动画,滚动屏幕 ,跑马灯,等效果实现

    5. **延时和重复动画**:为了实现跑马灯的持续滚动,我们可以使用`CADisplayLink`或者`NSTimer`来定期更新动画状态。同时,使用`repeatCount`或`autoreverses`属性可以让动画无限循环或往返播放。 6. **响应式动画*...

    NSTimer定时器

    `NSTimer`可以让你的应用程序按照预设的时间间隔执行任务,比如更新UI、发送网络请求或者执行动画效果。下面将详细探讨`NSTimer`的工作原理、创建方法、常见用法以及注意事项。 ### NSTimer的工作原理 `NSTimer`并...

    animation动画效果

    Objective-C(简称OC)作为苹果平台的主要编程语言之一,提供了丰富的API来实现各种动画效果。本文将深入探讨如何在OC中使用`Core Animation`和`UIKit`来创建动画,以及动画的基本原理和实践技巧。 一、动画基础 1...

    ios视图的各种动画效果

    因此,应尽可能减少不必要的动画计算,使用硬件加速,并合理使用动画缓存。对于长时间运行的动画,可以考虑使用`CADisplayLink`或者`NSTimer`来精确控制动画帧率。 总之,iOS提供了丰富的动画机制,开发者可以根据...

Global site tag (gtag.js) - Google Analytics