1

我有一个占位符UIImageView(从 .xib 加载),我想加载一张卡片背面的图片,然后翻转到正面图片。

[cardView setImage:backCardImage];
[UIView transitionWithView:cardView 
                  duration:1        
                   options:UIViewAnimationOptionTransitionFlipFromLeft
                animations:^{         
                    [cardView setImage:frontCardImage];
                }
                completion:NULL];

问题是它以 not 开头的初始图像backCardImage,而是使用我的 .xib 文件中的无图像(即空白图像)。如果我在 .xib 中加载了 backCardImage 并且只调用了transitionWithView,我相信它会正常工作,但我真的很想在同一个方法中进行两个调用(setImage和)。transitionWithView有没有办法做到这一点?我需要在两者之间打电话吗?

我尝试使用UIViewAnimationOptionBeginFromCurrentState,但这也不起作用。

4

1 回答 1

2

cardView 不会绘制,即使你放入 setNeedsDisplay,直到下一个绘制周期,所以你需要先在另一个方法中设置该图像,或者将动画移动到另一个方法,并使用 performSelector:withObject:afterDelay 调用它: . 即使延迟为 0 也可以。我不认为动画看起来很好,因为在翻转之前你只能看到后面的图像(我认为 0.1 或 0.2 秒的延迟看起来更好)。为什么不早点设置背面图像?在这种情况下,占位符图像的目的是什么?

于 2013-02-28T21:15:00.077 回答