在我的iPhone應用程序中,我在UIToolBar中放入了一個UIBarButtonSystemItemTrash類型的UIBarBUtton。當按下時,我想複製Mail.app的動畫:bin打開,UIView摺疊並飛入它。
有沒有辦法通過iPhone SDK訪問這個動畫?如何複製Mail.app的垃圾動畫
目前我使用的是定製動畫,但有一些限制;例如,我無法爲垃圾箱本身製作動畫。 你有什麼建議嗎?代碼示例?
乾杯,
達維德
在我的iPhone應用程序中,我在UIToolBar中放入了一個UIBarButtonSystemItemTrash類型的UIBarBUtton。當按下時,我想複製Mail.app的動畫:bin打開,UIView摺疊並飛入它。
有沒有辦法通過iPhone SDK訪問這個動畫?如何複製Mail.app的垃圾動畫
目前我使用的是定製動畫,但有一些限制;例如,我無法爲垃圾箱本身製作動畫。 你有什麼建議嗎?代碼示例?
乾杯,
達維德
在動畫上使用suckEffect類型。另外:spewEffect,genieEffect,unGenieEffect,twist,tubey,swirl,cameraIris,cameraIrisHollowClose,cameraIrisHollowOpen,rippleEffect,charminUltra,zoomyIn和zoomyOut。在模擬器中不起作用。
CATransition *animation = [CATransition animation];
animation.type = @"suckEffect";
animation.duration = 2.0f;
animation.timingFunction = UIViewAnimationCurveEaseInOut;
view.opacity = 1.0f;
[view.layer addAnimation:animation forKey:@"transitionViewAnimation"];
注意:代碼片段是從更大的代碼庫中提取的。我希望它的工作原理:)
不幸的是,我認爲這將需要是一個完全自定義動畫。 UIView摺疊可以使用核心動畫進行近似,也許通過向UIView的底層的CATransform3D添加透視圖來將UIView扭曲成被吸入垃圾桶的梯形。
就垃圾桶而言,您可以使用initWithCustomView創建一個UIBarButtonItem :,它可以讓您插入一個具有動畫垃圾桶的自定義UIView。它看起來像垃圾桶有兩個元素,罐底和蓋子,它們獨立旋轉以打開和關閉罐子。爲兩者繪製PNG,爲它們製作UIImageView,並使它們成爲UIBarButtonItem自定義視圖的子視圖。對於打開和關閉,應用旋轉變換來爲子視圖設置動畫。
我害怕我會得到這個答案:) 我擔心的一件事是複製蘋果的應用程序beahviour太密切有人可能會因爲指責使用私有API而拒絕他的應用。另外,我不舒適地抓住蘋果自己的垃圾箱並修飾它,但也許我只是一隻可怕的貓。 – nutsmuggler 2009-01-10 10:22:37
我想補充一些信息:
+[UIView setAnimationTransition:forView:cache:]
。只需將數字103傳遞給animationTransition變量即可。這不會避免你的應用被蘋果拒絕:p有關詳細信息,請參見http://www.iphonedevwiki.net/index.php?title=UIViewAnimationState。
此外,要使用私有API對動畫進行動畫處理:http://www.iphonedevwiki.net/index.php?title=UIToolbar#Animating_the_trash_can_icon。
我不確定這是否是答案,但here是做「精靈效應」的lib,因此它與您想要達到的效果非常相似。
CGRect endRect = CGRectMake(30, 40, 50, 60);
[view genieInTransitionWithDuration:0.7
destinationRect:endRect
destinationEdge:BCRectEdgeTop
completion:^{
NSLog(@"I'm done!");
}];
於是,鄉親們:如何做,沒有私有API? – dontWatchMyProfile 2010-05-23 18:18:15
嗨nutsmuggler 如果我嘗試相同的動畫我沒有得到如何摺疊曲線,而移動...... 如果可能告訴如何做到這一點 – 2011-01-18 14:34:04
@jeeva哈哈我喜歡隨便你怎麼提他的名字 – 2011-06-30 12:59:23