12UIView动画设置雪花下落_forin

一、运用继承,添加自定义的属性
项目:Homework_MoreCircleMove_Teacher0307
1.1

#import <UIKit/UIKit.h>

@interface CustomImageView : UIImageView
//初始角度
@property float startAngle;
@end

1.2 for…in

    //2.2 使用泛型遍历for in
    for (CustomImageView *earth in earthArray)
    {
        //给变球的角度
        float endAngle = earth.startAngle + speedAngle;
        //计算x,y坐标
        float x = CENTER_X + REDIOUS * cos(HUDU(endAngle));
        float y = CENTER_Y + REDIOUS * sin(HUDU(endAngle));
        earth.center = CGPointMake(x, y);
    }

二、UIView动画设置雪花下落
项目:Homework_FaillingSnow_Teacher0307
1.1 UIView动画

    //1.创建雪花
    _snow = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 60, 60)];
    _snow.image = [UIImage imageNamed:@"flake"];
    [self.window addSubview:_snow];
    
    //2.UIView动画
    //a.开启一个动画块儿
    //void * :代表任意指针
    [UIView beginAnimations:nil context:nil];
    //a.1 设置动画时间,秒
    [UIView setAnimationDuration:3];
    //a.2 设置动画要运动的位置坐标
    _snow.frame = CGRectMake(100, 400, 60, 60);
    //a.3 设置动画结束的方法
    //a.3.1 设置代理,让谁来执行动画结束的方法
    [UIView setAnimationDelegate:self];
    //a.3.2 设置动画结束时的方法
    [UIView setAnimationDidStopSelector:@selector(snowChangeAlpha)];
    //b.提交动画
    [UIView commitAnimations];

1.2 结束动画

//改变透明度
- (void)snowChangeAlpha
{
    //a.3 设置透明度变化,取值范围是0~1。
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:1];
//    //RGB:[0,255]
//    [UIColor colorWithRed:180.0/255.0 green:34.0/255.0 blue:120.0/255.0 alpha:1];
    _snow.alpha = 0;
    //方法1:代理
    [UIView setAnimationDelegate:self];
    [UIView setAnimationDidStopSelector:@selector(removeSnow)];
    //方法2:延迟执行方法
    //当代码执行到这一句代码时,会延迟*秒再执行@selector(removeSnow:)方法
    //方法参数类型 与 所传对象(object)类型 保持一致
    [self performSelector:@selector(removeSnow:) withObject:_snow afterDelay:1];
    
    [UIView commitAnimations];
}
//移除雪花
- (void)removeSnow:(UIImageView *)snow
{
    [snow removeFromSuperview];
}

推荐阅读更多精彩内容

  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 3,967评论 5 10
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 6,822评论 4 26
  • 一、重用版雪花下落1.1 重用1项目:Homework_20FallingSnow_Teacher0308 1.2...
    AsaGuo阅读 302评论 0 3
  • 在iOS实际开发中常用的动画无非是以下四种:UIView动画,核心动画,帧动画,自定义转场动画。 1.UIView...
    请叫我周小帅阅读 2,327评论 1 23
  • 清晨路经单位前的一条马路。 长长的马路里有个红绿灯。 恰好看到车行方向亮的是绿灯,一辆公交车却在绿灯前停了下来。正...
    迦颜阅读 77评论 0 0