2012-11-17 127 views
0

我想添加與動畫效果的子視圖,使用下面第一次正常工作的代碼。addsubview動畫作品只有第一次

CATransition *transition = [CATransition animation]; 
transition.duration = 1.0; 
transition.type = kCATransitionMoveIn; 
transition.subtype = kCATransitionFromRight; 

[newView.layer removeAllAnimations] 
[newView.layer addAnimation:transition forKey:nil]; 
[self.masterview addSubview:newView]; 

newView中有一個後退按鈕,它從超級視圖中刪除視圖。

[newView removeFromSuperview]; 

現在,當我再次嘗試使用上面的代碼添加NewView的作爲子視圖中,其首先將動畫視圖作爲一個子視圖(沒有動畫)和一次。

回答

0

而是從上海華刪除NewView的,爲什麼不只需將像

newView.frame = CGRectMake(0, -500, CGRectGetWidth(newView.frame), CGRectGetHeight(newView.frame)); 

一個框架,這樣你可以把它隱藏無法顯示。只是一個想法。 :-)

0

當您從其超級視圖中移除視圖時,它會保持原樣。所以,我認爲你必須將newView位置再次置於新的位置。

0

它在任何時候都可以正常工作。但唯一的區別是你需要找到動畫持續時間。它不會連續動畫。這將需要你在最短時間內提到的時間。