因此,我試圖在兩張圖像之間翻轉,但持續時間似乎被忽略。 據我所知,蘋果必須儘快做一些動畫以保持魔法活力,但有沒有辦法減緩翻轉?翻轉動畫忽略持續時間,即我無法控制速度
我目前的對象層次結構是遊戲板包含許多卡從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];
您是否嘗試過舊式+ beginAnimations API? – 2011-05-24 18:32:01
這是不必要的 - 而且可能是有害的 - 複雜。嘗試除去.center集合和-transitionFromView:toView:duration:options:completion:call; removeFromSuperview,addSubview和animateWithDuration:動畫:東西是多餘的,可能會干擾動畫。 – 2011-05-24 18:54:47
我添加了[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self cache:YES];插入到動畫塊中,並且現在可以正確使用新的塊調用方式。 – cramhead 2011-05-25 00:17:10