1

カードの裏側の画像を読み込んでから表側の画像に切り替えるプレースホルダーUIImageView(.xibから読み込んだもの)があります。

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

問題は、それが始まる最初の画像がではなくbackCardImage、代わりに、私の.xibファイルからの画像なし(つまり空白の画像)を使用することです。backCardImageを.xibにロードし、を呼び出すだけであれば、正しく機能すると思いますが、同じメソッドで2つの呼び出し(、、および)を使用transitionWithViewしたいと思います。これを行う方法はありますか?2つの間に何かを呼び出す必要がありますか?setImagetransitionWithView

を使ってみUIViewAnimationOptionBeginFromCurrentStateましたが、うまくいきません。

4

1 に答える 1

2

cardViewは、setNeedsDisplayを配置しても、次の描画サイクルまで描画されないため、最初にその画像を別のメソッドに設定するか、アニメーションを別のメソッドに移動して、performSelector:withObject:afterDelay:を使用して呼び出す必要があります。 。0の遅延でも機能します。ただし、アニメーションはあまり見栄えが良くないと思います。フリップの前の瞬間だけ後ろの画像が表示されるからです(.1秒または.2秒の遅延の方が良いと思います)。後ろの画像を早く設定してみませんか?このコンテキストでのプレースホルダー画像の目的は何ですか?

于 2013-02-28T21:15:00.077 に答える