在同一時間開始他們,給需要旅行兩倍遠兩倍的時間這樣做動畫:
[UIView animateWithDuration:0.25 animations:^ {
myView1.frame = CGRectMake(0.0, 0.0, 100.0, myView1.frame.size.height - 100.0);
}];
[UIView animateWithDuration:0.5 animations:^ {
myView2.frame = CGRectMake(0.0, 0.0, 100.0, myView1.frame.size.height - 50.0);
}];
基本速度的數學。
的另一種方法:
[UIView animateWithDuration:0.25 animations:^{
myView1.frame = CGRectMake(0.0, 0.0, 100.0, myView1.frame.size.height - 50.0);
myView2.frame = CGRectMake(0.0, 0.0, 100.0, myView1.frame.size.height - 50.0);
}
completion:^{
[UIView animateWithDuration:0.25 animations:^{
myView2.frame = CGRectMake(0.0, 0.0, 100.0, myView1.frame.size.height - 50.0);
}];
}];
我不知道哪種方法更好或將是優選的。
第一種方法使用兩個獨立調用animateWithDuration
,每個視圖一個,一個動畫的兩倍時間的距離(所以相同的速度整體)的兩倍。
第二種方法通過completion
塊使用對animateWithDuration
的嵌套調用。首先,兩個視圖以相同的速度動畫到相同的大小。接下來,需要走兩次距離的視圖會爲剩餘距離(相同速度)生成動畫。
你有沒有注意到你正在將view1的高度分配給view2,並且順便提一句,如果兩個視圖的大小相同,第二個視圖將以雙倍速度進行,因爲它必須將高度最小化爲幾乎兩倍比view1 – channi
是的,我意識到。 – BytesGuy
那麼問題是否解決? – channi