一、图片的旋转
- (void)rotateImageView:(UIImageView *)iv
{
[UIView animateWithDuration:.5 delay:0 options:UIViewAnimationOptionCurveLinear
animations:^{
iv.transform = CGAffineTransformRotate(iv.transform, M_PI / 2);
}
completion:^(BOOL finished) {
if(finished)
[self rotateImageView:iv];
}];
}
二、图片的动态放大和缩小
- (void)pulseImageView:(UIImageView *)iv
{
[UIView animateWithDuration:1 delay:0 options:UIViewAnimationCurveEaseOut
animations:^{
iv.transform = CGAffineTransformScale(iv.transform, 2, 2);
}
completion:^(BOOL finished) {
[UIView animateWithDuration:1 delay:0 options:UIViewAnimationCurveEaseIn
animations:^{
iv.transform = CGAffineTransformScale(iv.transform, .5, .5);
}
completion:^(BOOL finished) {
if(finished)
[self pulseImageView:iv];
}];
}];
}
- (void)raining
{
UIImageView *imageView = [[UIImageView alloc] initWithImage:[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.generator invalidate];
self.generator = nil;
}
self.generator = [NSTimer scheduledTimerWithTimeInterval:(.1*(1/level)) target:self selector:@selector(addItem:) userInfo:name repeats:YES];
}
//云朵下动态的雨滴
- (void)addItem:(NSTimer *)timer
{
NSString *image = timer.userInfo;
int x = arc4random()%80;
int y = arc4random()%100;
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:image]];
imageView.center = CGPointMake(x+120,y+120);
[self.backgroundImageView addSubview:imageView];
[self.backgroundImageView sendSubviewToBack:imageView];
[self tweenLeftImageView:imageView];
}
- (void)tweenLeftImageView:(UIImageView *)iv
{
CGPoint point = iv.center;
[UIView animateWithDuration:1 delay:0 options:UIViewAnimationOptionCurveLinear
animations:^{
iv.center = CGPointMake(point.x-50,point.y+200);
iv.alpha = 0;
}
completion:^(BOOL finished) {
[iv removeFromSuperview];
}];
}
本文介绍如何在iOS应用中实现图片旋转、动态放大缩小以及动态雨滴效果,包括旋转图片、动态调整图片大小以及雨滴动画的实现方法。
792

被折叠的 条评论
为什么被折叠?



