2012-03-17 25 views
0

試圖將我的大腦包裹在動畫中。這裏是我的基本情況:如何啓用隱式UIView動畫?

_________ 
|Parent | 
|   | 
|   | 
| _____ | _____ 
| |A | | |B | 
| |_____| | |_____| 
|_________| 

其中Parent是父視圖和AB都是UIView實例。我選擇製作ABUIView,因爲據我所知,圖層無法接收用戶交互。我想要做的動畫非常簡單:我只想讓A從屏幕向左滑動,而B從右側滑動。

我試過類似如下:

CALayer *layer = viewA.layer; 
layer.position = CGPointMake(initialLayer.position.x, initialLayer.position.y - 480); 

,但沒有立即動畫更新屬性。

我能夠使用CABasicAnimation得到這個工作沒有太多的麻煩,但我想學習使用隱式動畫來處理這種場景,所以我可以在未來更快地進行原型設計。 This post似乎暗示UIView s不能執行隱式動畫(至少默認情況下)。

我的問題:

  1. 有沒有辦法來隱式動畫一個UIView的層上的屬性?怎麼樣?
  2. 如果沒有,是否有更好的/規範的方式來做到這一點,這與我的方法不同?

回答

1

您可以使用animateWithDuration

[UIView animateWithDuration:2.0 animations:^{ 
    viewA.frame = newFrame; 
}]; 
+0

謝謝。這工作完美! – benekastah 2012-03-17 22:15:42