我有一個UIView對象。它在我改變全局變量角時旋轉。 我有一個函數,從它的超級視圖中刪除這個UIView並重畫它。 我已添加一個按鈕。當用戶按下這個按鈕時,我需要啓動一個動畫。 在每一步我都需要改變角度並調用我的重繪函數。所以如此效果我期望看到的是我的觀點在旋轉。 這裏是代碼:UIView animateWithDuration不起作用
-(IBAction)animate:(id)sender
{
NSLog(@"animate: called");
[UIView animateWithDuration:0.7
delay:0.0
options: UIViewAnimationCurveEaseOut
animations:^{
angle=angle+5.0;
if (angle>360)
{
angle=angle-360;
}
else if(angle<0)
{
angle=angle+360;
};
NSLog(@"inner angle: %g", angle);
[self transform]; //this is my redraw function. it redraws my view depending on global variable value angle.
}
completion:NULL];
NSLog(@"finalAngle: %g", angle);
}
爲什麼這個動畫不能正常工作?
我的NSLog輸出爲: 動畫:被稱爲 內角:5 變換:所謂 finalAngle:5 變換:所謂 – Oleg
它看起來像在animateWithDuration塊只能1次。我在哪裏可以指出他在0.7秒內需要他工作多少次? – Oleg
它動畫,但我的時候我稱之爲「動畫」我的視圖從0角度旋轉,但不是從先前的值(這是低5度) – Oleg