私のアプリケーションのメインビュー(画面中央の正方形)に含まれるビューを持っています。あなたが左にスワイプする場合、私は、右に画面オフビューをスライドし、次のコードを書いている:これは素晴らしい作品UIViewの画面を右に動かし、左からもう一度表示する方法
- (IBAction)swipeLeft:(id)sender
{
CGRect initCardViewFrame = self.cardView.frame;
CGRect movedCardToRightViewFrame = CGRectMake(initCardViewFrame.origin.x + 1000, initCardViewFrame.origin.y, initCardViewFrame.size.width, initCardViewFrame.size.height);
[UIView animateWithDuration:0.7
animations:^{self.cardView.frame = movedCardToRightViewFrame;}
completion:nil];
}
、しかし私は、コードを延長したいよう平方一度画面の右側から消えて、左から右に戻って中央に戻ります。私は本当にどのようにウィンドウの外側の左側にそれを "再描画"し、それを真ん中に戻すのかは分かりません。私はフレームをやり直そうとしましたが、アニメーションはアニメーションブロック内の最後のフレームの動きしか表示しません。私は、画面からビューを押して、画面の左手の外側にそれを描き直し、中央にスライドさせる必要があると仮定しています。もちろん、それを行うより直感的な方法がない限り。
更新:
私は、以下のこの質問に答えてきましたが、私は助けるが、互いの内側のUIViewのアニメーションをネストせずにこれを行うには良い方法があると考えることはできません。これがこの問題に取り組む唯一の方法ですか?
これはあなたが望む結果を得るための最良の方法です。入れ子にされたアニメーションは醜い(インデント地獄です!)が、あなたが望むことを行う最も簡単な方法です。 – jrturton