几种常见的动画

来源:互联网 发布:淘宝摄影需要什么器材 编辑:程序博客网 时间:2024/06/05 04:08

一、图片的旋转

- (void)rotateImageView:(UIImageView *)iv

{

    [UIViewanimateWithDuration:.5delay:0options:UIViewAnimationOptionCurveLinear

                    animations:^{

                         

                         iv.transform =CGAffineTransformRotate(iv.transform,M_PI / 2);


                     }

                    completion:^(BOOL finished) {

                        if(finished)

                             [selfrotateImageView:iv];

                     }];

}

二、图片的动态放大和缩小

- (void)pulseImageView:(UIImageView *)iv

{

    [UIViewanimateWithDuration:1delay:0options:UIViewAnimationCurveEaseOut

                    animations:^{

                         iv.transform =CGAffineTransformScale(iv.transform,2, 2);

                     }

                    completion:^(BOOL finished) {

                         [UIViewanimateWithDuration:1delay:0options:UIViewAnimationCurveEaseIn

                                         animations:^{

                                              iv.transform =CGAffineTransformScale(iv.transform,.5, .5);

                                          }

                                         completion:^(BOOL finished) {

                                             if(finished)

                                                  [selfpulseImageView:iv];

                                          }];

                     }];

}

三、雨滴效果
//添加上面的云朵

- (void)raining

{

    UIImageView *imageView = [[UIImageView allocinitWithImage:[UIImage imageNamed:@"angrycloud"]];

    imageView.center = CGPointMake(160,125);

    [self.backgroundImageView addSubview:imageView];

    [self.backgroundImageView bringSubviewToFront:imageView];

}


- (void)weatherItem:(NSString *)name andLevel:(CGFloat)level

{

    if(self.generator){

        [self.generatorinvalidate];

       self.generator =nil;

    }

    

    self.generator = [NSTimerscheduledTimerWithTimeInterval:(.1*(1/level))target:selfselector:@selector(addItem:)userInfo:name repeats:YES];

}

//云朵下动态的雨滴

- (void)addItem:(NSTimer *)timer

{

   NSString *image = timer.userInfo;

    

   int x = arc4random()%80;

   int y = arc4random()%100;

    

   UIImageView *imageView = [[UIImageViewalloc] initWithImage:[UIImageimageNamed:image]];

    imageView.center =CGPointMake(x+120,y+120);

    [self.backgroundImageViewaddSubview:imageView];

    [self.backgroundImageViewsendSubviewToBack:imageView];

    [selftweenLeftImageView:imageView];

}



- (void)tweenLeftImageView:(UIImageView *)iv

{

   CGPoint point = iv.center;

    

    [UIViewanimateWithDuration:1delay:0options:UIViewAnimationOptionCurveLinear

                    animations:^{

                         iv.center =CGPointMake(point.x-50,point.y+200);

                         iv.alpha =0;

                     }

                    completion:^(BOOL finished) {

                         [ivremoveFromSuperview];

                     }];

}




0 0
原创粉丝点击