我有一種方法來執行一個小動搖動畫。這個動畫有點作用,但每次我從風景位置調用它時,它都會旋轉。當模擬器處於橫向模式時調用動畫時,整個視圖將自身旋轉爲縱向,然後執行動畫。旋轉本身不是動畫的,它只是突然改變而沒有延遲。在視圖轉變一切還有,所有的按鈕,文本域,圖像視圖等搖動動畫旋轉顯示以及動畫
動畫代碼:
- (void)shakeView
{
CGFloat t = 8.0;
CGAffineTransform translateRight = CGAffineTransformTranslate(CGAffineTransformIdentity, 0.0, t);
CGAffineTransform translateLeft = CGAffineTransformTranslate(CGAffineTransformIdentity, 0.0, -t);
self.view.transform = translateLeft;
[UIView animateWithDuration:0.07 delay:0.0 options:UIViewAnimationOptionAutoreverse|UIViewAnimationOptionRepeat animations:^{[UIView setAnimationRepeatCount:3.0];
self.view.transform = translateRight;
}
completion:^(BOOL finished){
if (finished)
{
[UIView animateWithDuration:0.05 delay:0.0 options:UIViewAnimationOptionBeginFromCurrentState animations:^{self.view.transform = CGAffineTransformIdentity;
}
completion:NULL];
}
}];
}
老實說,我沒有做很多與動畫,所以我不知道是什麼我在這裏做錯了,更不用說我應該嘗試什麼,或者我應該在哪裏尋找答案。
我期待保持動畫,同時也保持方向。
我沒有看到任何問題..它完全正常工作...有可能是在你的代碼的其他部分的問題。 –
@Xman,你在風景中運行動畫嗎?當模擬器處於橫向模式時,我的整個UIView,所有按鈕,文本字段和圖像視圖都會翻轉成肖像。 – CaptJak
我在兩種模式下運行它.. –