2013-12-20 87 views
3

我正在開發它顯示四個視圖立方體上面,你可以滾右和left.I've很容易地實現使用CATransitions這樣的這種互動刷卡應用程序:CATransition立方體平移手勢

[self.view1 addSubview:nextTo1]; 
CATransition *animation = [CATransition animation]; 
[animation setDuration:0.5]; 
[animation setType:@"cube"]; 
[animation setSubtype:kCATransitionFromRight]; 
[animation setTimingFunction:[CAMediaTimingFunctionfunctionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; 
[[self.view1 layer] addAnimation:animation forKey:@"cube"]; 

然後我用滑動的手勢勾住了一切,一切都很好。 問題是客戶需要一個平移手勢,所以在動畫過程中多維數據集旋轉應該跟隨手指,而我真的不知道如何實現它,例如OpenGL(這可能會變得更加昂貴,簡單的過渡)。 有沒有辦法更好地控制CATransitions或一些視圖失真函數,我可以用它來解決這個問題?

非常感謝你和聖誕快樂!

回答

1

這樣做的一種方法是將layer.speed設置爲零(以便動畫不會自動移動),並根據來自平移手勢識別器的移動設置layer.timeOffset。設置timeOffset可以控制動畫的進度,當timeOffset達到動畫持續時間時,它會100%完成。

此問題的一個示例已發佈在另一個問題的答案中:https://stackoverflow.com/a/22652663/209855