2009-09-11 101 views
1

我有一個自定義視圖。這個自定義視圖有兩個UIImageViews - imageview1和imageview2。翻轉動畫不起作用

[UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:2.00]; [UIView setAnimationDelegate:self]; [UIView setAnimationDidStopSelector:@selector(transitionDidStop:finished:context :)]; [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self cache:YES];如果(frontVisible){ [imageview1 removeFromSuperview]; [self addSubview:imageview2]; } else { [imageview2 removeFromSuperview]; [self addSubview:imageview1]; } frontVisible =!frontVisible; [UIView commitAnimations];


圖像從imageview1更改爲imageview2和viceversa但我沒有得到翻轉效果。相反,當另一個圖像出現時,我會看到一個圖像漸漸消失。

+0

你正在測試設備或模擬器? – nduplessis 2009-09-11 09:34:07

+0

我在模擬器上測試 – Minar 2009-09-11 10:06:27

回答

1

不能確定,但​​我查了一下資料,發現這個:

討論

如果你想有一個過渡例如在改變視圖的外觀,從一個視圖翻轉到另一個 - 然後使用容器視圖,UIView的一個實例,如下所示:

  1. 開始一個動畫塊。
  2. 設置容器視圖上的轉換。
  3. 從容器視圖中刪除子視圖。
  4. 將新的子視圖添加到容器視圖。
  5. 提交動畫塊。

所以說你必須創建爲了一個容器以使其正常工作。

+0

當我使用UIViewAnimationTransitionFlipFromLeft時,我確實獲得翻轉。 (我不知道如何得到這個工作。) 但是,如果我改變過渡到UIViewAnimationTransitionCurlUp我仍然看到其中一個圖像淡出另一個出現。 我無法理解CurlUp的特別之處 – Minar 2009-09-11 16:35:28

1

你沒有得到curl轉換工作的原因是因爲curl轉換在模擬器中不起作用。它顯示爲淡入淡出。