我有一个占位符UIImageView
(从.xib加载),我想用卡背面的图片加载,然后翻到前面的图像。
[cardView setImage:backCardImage];
[UIView transitionWithView:cardView
duration:1
options:UIViewAnimationOptionTransitionFlipFromLeft
animations:^{
[cardView setImage:frontCardImage];
}
completion:NULL];
问题是它开始的初始图像不是backCardImage
,而是使用我的.xib文件中的无图像(即空白图像)。如果我在.xib中加载了backCardImage并且只调用transitionWithView
,我相信它会正常工作,但我真的希望有两个调用(setImage
和transitionWithView
)用同样的方法。有没有办法做到这一点?我需要在两者之间打电话吗?
我尝试使用UIViewAnimationOptionBeginFromCurrentState
,但这也不起作用。
答案 0 :(得分:2)
即使你放入setNeedsDisplay,cardView也不会绘制,直到下一个绘图周期,所以你需要先在另一个方法中设置该图像,或者将动画移动到另一个方法,然后用performSelector调用它:withObject :afterDelay :.即使延迟0也会奏效。我不认为动画看起来很好,因为你只能在翻转之前看到背面图像(延迟.1或.2秒看起来更好)。为什么不早点设置背面图像?在这种情况下占位符图像的目的是什么?