2012-03-01 80 views
0

我正在iPhone屏幕上移動多個對象,並同時更改視野。這看起來參差不齊,因爲不同的對象移動發生在不同的時間,特別是通過調用zoomToRect將視圖移動到它們都住的scrollView。iPhone:一致移動物體

如果這些是電腦動畫的舊日,我會說我想要一個幀緩衝區來讓事物在瞬間一起移動。但我想在iOS中有更高層次的做法。

什麼是最簡單/最乾淨的方式讓所有這些動作在同一瞬間熄滅?

編輯:爲了澄清,我做了一個單獨的問題,保持ScrollView與其中的對象同步移動。

回答

3

的Core Animation:https://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/ViewPG_iPhoneOS/AnimatingViews/AnimatingViews.html#//apple_ref/doc/uid/TP40009503-CH6-SW1

最簡單的方法是一個像塊:

[UIView animateWithDuration:1.0 animations:^{ 
    // do all kinds of repositioning, alpha changes, etc. 
}]; 

與往常一樣,檢查文檔。如果您同時使用ScrollView zoomToRect:animated:,可能會有一些排序問題。

+0

哦,我確實檢查了文檔。但是AppKit有一些舊的做法。有Core Animation的做事方式。你可以從字面上訪問一個幀緩衝區。你可以將所有東西都設置爲OpenGL。而這些只是我可以從頭腦中想到的方式。文檔告訴你哪些方法是可能的,但不是哪些是理智的。 – baudot 2012-03-01 02:52:49

+0

並且在這些方法的每一種中,您都可以通過不同的方式獲得幀緩衝區效果... – baudot 2012-03-01 03:05:24

+0

好點。依靠UIView的CoreAnimation支持層將是最好的「高層次」方法;加上內聯塊語法使得它非常清晰和簡潔,在我看來。 – gregheo 2012-03-01 03:58:14