UIImageView具有过渡功能

时间:2012-03-10 21:52:10

标签: iphone objective-c uiimageview nstimer

所以,我有这段代码:

timer = [NSTimer scheduledTimerWithTimeInterval:4.0 target:self selector:@selector(a) userInfo:nil repeats:YES];

此代码重复动作“a”:

-(void)a {
    self.img.image = [UIImage imageNamed:[NSString stringWithFormat:@"wp%@.jpg", i]];
    if([i isEqualToNumber:[NSNumber numberWithInt:1]]){
    i = [NSNumber numberWithInt:2];
    }else if([i isEqualToNumber:[NSNumber numberWithInt:2]]){
        i = [NSNumber numberWithInt:3];
    }else     if([i isEqualToNumber:[NSNumber numberWithInt:3]]){
        i = [NSNumber numberWithInt:1];
    }
}

此void使用“i”值更改图像“img”。我想在更改图像时,会显示一种效果,如模糊和去模糊“img”。

知道怎么做这个效果吗?

感谢您的关注,
阿尔贝托

1 个答案:

答案 0 :(得分:0)

首先,对NSInteger使用inti似乎是有意义的。然后你可以更经济地写作:

i += i<3 ? 1 : -2;

不要忘记将格式字符串更改为@"wp%i.jpg"

然后动画会像这样完成:

[UIView animateWithDuration:1 
                      delay:0 
                    options: UIViewAnimationCurveEaseOut
                 animations:^{
                    self.img.image = [UIImage imageNamed:
                        [NSString stringWithFormat:@"wp%i.jpg", i]];
                             }];