2011-05-24 76 views
0

因此,我試圖在兩張圖像之間翻轉,但持續時間似乎被忽略。 據我所知,蘋果必須儘快做一些動畫以保持魔法活力,但有沒有辦法減緩翻轉?翻轉動畫忽略持續時間,即我無法控制速度

我目前的對象層次結構是遊戲板包含許多卡從UIView繼承。 A卡具有正面和背面是承載一個UIImage和其他數據

[UIView animateWithDuration:15.0 
    animations:^(void) { 
     cardOne.center =CGPointMake(100, 100); 
     cardTwo.center =CGPointMake(100, 100); 

     //low level calls, to directly perform the image swap 
     [cardOne.face removeFromSuperview]; 
     [cardOne addSubview:cardOne.back]; 
     [cardOne sendSubviewToBack:cardOne.face]; 

     //calling the transitionFromView to do the image swap 
     [UIView transitionFromView:cardOne.face 
          toView:cardOne.back 
          duration:10 
          options:UIViewAnimationTransitionFlipFromLeft 
         completion:^(BOOL finished){ }]; 

感謝您的反饋UIViews。我嘗試了所有你輸入的組合,並且它確實正常工作。我不知道爲什麼。 感謝您的回覆。我試着回到舊的風格,它的工作。我還沒有弄清楚爲什麼。

非工作代碼被註釋掉,工作代碼未註釋。 再次感謝

/* 
[UIView animateWithDuration:animationDuration 
animations:^{ 
    [self.face removeFromSuperview];  
    [self addSubview:self.back]; 
    [self sendSubviewToBack:self.face];    
}]; 
*/ 

[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:kDefaultFlipSpeed]; 
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft 
           forView:self 
           cache:YES]; 

[self.face removeFromSuperview]; 
[self addSubview:self.back]; 
[self sendSubviewToBack: self.face]; 

[UIView commitAnimations]; 
+0

您是否嘗試過舊式+ beginAnimations API? – 2011-05-24 18:32:01

+0

這是不必要的 - 而且可能是有害的 - 複雜。嘗試除去.center集合和-transitionFromView:toView:duration:options:completion:call; removeFromSuperview,addSubview和animateWithDuration:動畫:東西是多餘的,可能會干擾動畫。 – 2011-05-24 18:54:47

+0

我添加了[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self cache:YES];插入到動畫塊中,並且現在可以正確使用新的塊調用方式。 – cramhead 2011-05-25 00:17:10

回答

0

我不能問一個評論,所以: 您是否嘗試過用不到10秒?更確切地說在0-1秒之間。有點像0.5秒。告訴我你是否注意到這些值的持續時間有任何變化。

我的快速回答是: 嘗試設置10秒爲10.010.0f

希望它有幫助。

+0

感謝您的回覆。我試着回到舊的風格,它的工作。我還沒有弄清楚爲什麼。 – cramhead 2011-05-24 23:40:04

+0

好聽!我認爲'kDefaultFlipSpeed'有訣竅。如果你仍然想改變速度,試試我以前告訴過你的。 – 2011-05-26 22:09:20