我正在使用簡單的CABasic Animation來旋轉視圖中的圖像。當用戶觸摸圖像時,開始觸摸以允許旋轉開始。然後在用戶完成旋轉圖像時調用結束。CABasic Animation Rotation
一旦觸摸結束我然後再次旋轉圖像到一個固定點。這裏的代碼
CABasicAnimation *rotation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
double startRotationValue = 0;
rotation.fromValue = [NSNumber numberWithDouble:startRotationValue];
rotation.toValue = [NSNumber numberWithDouble:startRotationValue+0.25];
rotation.duration = 1.0;
rotation.fillMode = kCAFillModeForwards;
rotation.removedOnCompletion = NO;
[self.view.layer addAnimation:rotation forKey:@"rotating"];
這工作正常,直到第二次選擇圖像。開始的觸摸被再次調用,但圖像無法旋轉。事實上,圖像不能在所有的移動我知道這是什麼做
rotation.fillMode = kCAFillModeForwards;
rotation.removedOnCompletion = NO;
我試圖打電話給removedOnCompletion在潤色開始不解決問題。
rotation.removedOnCompletion = YES
這是什麼最好的辦法,不知何故視圖沒有正確註冊rotation.removedOnCompletion。
有趣的是,這裏的很多帖子都提到使用fillmode和removeOnCompletion來避免動畫回彈到開始位置。我會試驗轉換以避免相同的情況,謝謝。 – user494088 2012-04-04 08:36:52