0

我必须显示图像的幻灯片。但在某一时刻,我只知道当前和以前的图像(因为内存管理)。我需要用动画(UIViewAnimationOptionTransitionCurlUp)显示下一张图片。我想设置动画帧(所以,当 1 个图像大于 2 个或反之亦然时,动画帧应该是 2 个图像中最大的一个)。所以,我应该看到 UIViewAnimationOptionTransitionCurlUp 不是在整个屏幕,而是在屏幕的一部分。这是我的代码:

slideShowView.frame = [self getBiggestFrame];
slideShowView.center = [self getCenter];
[UIView transitionWithView:slideShowView
                  duration:4.0
                   options:UIViewAnimationOptionTransitionCrossDissolve
                animations:^
                { 
                    [prevImageView removeFromSuperview]; 
                    [slideShowView addSubview:nowImageView]; 
                }
                completion:NULL];

我认为,动画帧依赖于 slideShowView.frame。当我为相同大小的图像制作动画时,一切正常。但是当secong图像宽度更大时,第一张图像的宽度,我在整个动画过程中看到第一张图像,只有在动画之后第一张图像才会消失。 在此处输入图像描述

在图像中,您可以看到大图像前面的蓝色图像。但是在这张图片中,动画几乎完成了,蓝色图像应该消失了。这就是问题所在。我将动画持续时间设置为 10。我看到第二个图像出现在第一个图像后面,没有动画。而不是所有这些动画到第二个图像 在此处输入图像描述

在此处输入图像描述

4

0 回答 0