0

可能的重复:
iphone 褪色的图像

如何在一组图像(图像数组)中实现淡出动画。图像将一张一张出现。当我使用下面给出的代码时,它只会显示一个简单的幻灯片放映。

NSArray *imagearray = [NSArray arrayWithObjects:
                             [UIImage imageNamed:@"image1.png"],
                             [UIImage imageNamed:@"imag2.png"],[UIImage imageNamed:@"imag3.png"],[UIImage imageNamed:@"imag4.png"],[UIImage imageNamed:@"imag5.png"],[UIImage imageNamed:@"imag6.png"],[UIImage imageNamed:@"imag7.png"],nil];
imageview.animationImages=imagearray;


imageview.animationDuration = 10.00;  

imageview.animationRepeatCount = 0;

[imageview startAnimating];

如何实现褪色效果?

4

2 回答 2

3

动画视图的 alpha 属性:

[UIView animateWithDuration:5 animations:^{
    imageview.alpha = 0;
}];
于 2012-11-24T10:29:10.980 回答
2

请访问此堆栈溢出问题其iphone 褪色图像

- (void)viewDidLoad {
        imgView.animationImages=[NSArray arrayWithObjects:  
                                 [UIImage imageNamed:@"lori.png"],
                                 [UIImage imageNamed:@"miranda.png"],
                                 [UIImage imageNamed:@"taylor.png"],
                                 [UIImage imageNamed:@"ingrid.png"],
                                 [UIImage imageNamed:@"kasey.png"], 
                                 [UIImage imageNamed:@"wreckers.png"], nil];



        imgView.animationDuration=20.0;
        imgView.animationRepeatCount=0;
        [imgView startAnimating];
        [self.view addSubview:imgView];
        [imgView release];
        //The timers time interval is the imageViews animation duration devided by the number of images in the animationImages array. 20/5 = 4 
        NSTimer *timer = [NSTimer timerWithTimeInterval:4.0 
                                                  target:self 
                                                selector:@selector(onTimer) 
                                                userInfo:nil 
                                                 repeats:YES];

        [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode];
        [timer fire];

        [super viewDidLoad];
    }

    //It is important that the animation durations within these animation blocks add up to 4 
    //(the time interval of the timer). If you change the time interval then the time intervals 
    //in these blocks must also be changed to refelect the amount of time an image is displayed. 
    //Failing to do this will mean your fading animation will go out of phase with the switching of images.   

    -(void)onTimer{
            [UIView animateWithDuration:3.0 animations:^{
                imgView.alpha = 0.0; 
            }];
            [UIView animateWithDuration:1.0 animations:^{
                imgView.alpha = 1.0; 
            }];
        }
于 2012-11-24T10:30:58.933 回答