我有一個視圖,它包含在我的應用程序的主視圖中(屏幕中間的一個正方形)。我寫了下面的代碼,滑出屏幕的觀點的權利,如果你把它滑動到最左邊:如何動畫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 2011-12-27 18:00:07