2017-04-25 90 views
0

對不起,我的英文很差。在動畫之前獲取兩個CG點之間的值(uiscrollview)

在我的工作中,我們製作了一個應用程序,它將高分辨率圖像顯示到UIScrollVIew中。此外,用戶可以播放一個MP3,從一秒鐘開始動畫顯示UIScrollView的位置和縮放,並顯示MP3正在說明的圖像細節。目前,音頻從第二個0播放到最後。 MP3正在播放時,用戶不能與UIScrollView交互

現在我們希望用戶可以在播放時更改當前時間,但我不確定當用戶選擇第二個播放位置時如何計算位置的一個動畫。

例如:

第二個1:持續時間4;第二個8:持續時間2;第二個20持續時間10;第二次31持續時間3;

如果用戶選擇第二個24,我們希望在6秒鐘內動畫,但要記住UIScrollView從原始動畫開始的第二個20到24之後應該具有的原始位置。

我們正在使用的UIView動畫(animateWithDuration)與zoomToRect(動畫:否)從的UIS​​crollView

我不確定如何計算這些中間值的方法。

謝謝。

回答

0

我不知道,我是否真的讓你對或錯。但是,您可以將動畫進度設置爲與動畫的起點和總持續時間相關的進度值。 I. e。在你的情況下

float animationStartPoint = 20.0; // Start of the animation 
float duration = 10.0;   // Its duration 
float partialStartPoint = 24.0; // user selected start point 

NSAnimation *animation = …; 
… 
animation.currentProgress = (partialStartPoint-animationStartPoint)/duration; 
[animation startAnimation]; 
+0

感謝您的迴應,但我認爲NSAnimation是獨家MacOS,並不存在於iOS框架。 – maddavid

+0

哦,對不起,沒有注意到這一點。 –