我有一個UIImageView,我正在屏幕上移動,基於用戶刷卡。我做到這一點使用的Core Animation:核心動畫和UIImageView返回到開始位置
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
movingView.frame = theRect;
[UIView commitAnimations];
它總是開始時很好,但中途從其原來的位置轉到「theRect」的位置,其停止並且的UIImageView跳回到它的起點。它從來不是一回事。在跳回之前有時會幾乎完成,有時只是幾乎不動,然後跳回來。此後沒有其他代碼正在運行。我試過改變持續時間,這似乎並不重要。
如果我在補充:
[UIView setAnimationDidStopSelector:@selector(completeAnimation:finished:context:)];
[UIView setAnimationDelegate:self];
則其實際延遲,直到時間完成並運行選擇,即使圖像本身停止,幾乎立即返回到它的出發點。
希望有人能給我一些提示這裏可能發生的事情。
我沒有在您發佈的代碼中看到任何異常。被觸發兩次的動畫是基於症狀的最佳猜測。 NSLog(@「hello」)在提交之前?你應該只看到一個「你好」。 – danh
它只觸發一次。但是,我在這裏發現了這個問題。當我沒有選中故事板的「使用Autolayout」時,它應該可以正常工作。當它被檢查時,它不會。我不確定是否在這裏丟失了某些東西,如果這是一個錯誤,或者有一種編程方式來避免這種情況發生。如果有人知道,我很想聽聽如何保持Autolayout並做到這一點。 謝謝。 –