2011-11-09 32 views
8

我試圖動畫UIView的框架更改,其中原點和大小均發生更改。動畫看起來不順暢,並且有彈性效果。我使用下面的代碼來做到這一點動畫UIView的框架更改不平滑,導致彈性效果

[UIView 
    animateWithDuration:0.5 
    animations:^{ 
     self.view.frame = newFrame; 
    }]; 

看來,規模第一變化非常快,然後用這最終導致有彈性的效果動畫的指定時間原點的變化。我如何使這種外觀流暢?

回答

3

在動畫化每個子視圖的幀變化時,個別做了魔術。現在它的動畫非常流暢。謝謝。

12

您可以嘗試更改動畫曲線,也許嘗試線性曲線。

dispatch_async(dispatch_get_main_queue(), ^{ 
    [UIView beginAnimations:nil context:nil]; 
    [UIView setAnimationDuration:0.5]; 
    [UIView setAnimationCurve:UIViewAnimationCurveLinear]; 
    self.view.frame = newFrame; 
    [UIView commitAnimations]; 
}); 
+0

我已經嘗試過使用UIViewAnimationCurveLinear但它沒有工作。大小立即改變,然後位置變化的動畫開始執行。 –

+0

您是否嘗試過使用整個代碼塊?我剛剛嘗試過它 - 並且在同一時間,您在主線程中正在執行此操作,並且尺寸和原點都能夠同時順利動畫 – Mellson

+0

? – Mellson