我想動畫一個窗簾,它被打開。我有兩個圖像:一個用於左側,另一個用於窗簾的右側(用紅色表示)。我想用Core Animation順利地將它們滑開。我應該尋找哪種動畫類型?我如何獲得逼真的滑動風格?打開窗簾:動畫與核心動畫
問候,
的Stefan
alt text http://img.skitch.com/20100627-8ytxrbe64ccbruj49c2pbs7kt2.png
我想動畫一個窗簾,它被打開。我有兩個圖像:一個用於左側,另一個用於窗簾的右側(用紅色表示)。我想用Core Animation順利地將它們滑開。我應該尋找哪種動畫類型?我如何獲得逼真的滑動風格?打開窗簾:動畫與核心動畫
問候,
的Stefan
alt text http://img.skitch.com/20100627-8ytxrbe64ccbruj49c2pbs7kt2.png
的最簡單的解決辦法是有向的ImageView或CGLayers然後使用CGAffineTransformTranslate在動畫block滑動它們關閉屏幕。
我不確定爲什麼人們建議使用翻譯。如果您只需滑動圖像,只需在動畫塊內的每個圖像視圖上調用-setCenter即可。就像這樣:
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[leftCurtainImageView setCenter:pointOffScreenLeft];
[rightCurtainImageView setCenter:pointOffScreenRight];
[UIView commitAnimations];
凡pointOffScreenLeft和pointOffScreenRight計算是這樣的:
CGPoint pointOffScreenLeft = CGPointMake(
-[leftCurtainImageView bounds].size.width,
[leftCurtainImageView frame].origin.y);
CGPoint pointOffScreenRight = CGPointMake(
[rightCurtainImageView frame].origin.x +
[rightCurtainImageView bounds].size.width,
[leftCurtainImageView frame].origin.y);
上述計算假設窗簾分別位於最左邊和最右邊的邊包含它們的看法。