2013-02-17 58 views
2

我的屏幕上已經有一個UIView,我希望從四個方向之一(左,右,上,下)「滑入」一個新的UIView,具體取決於什麼類型swipegesture,我發現。獲取swipegesture信息已經完成了,而不是一個問題,但現在,讓我們說如果我向左滑動然後我想另一個UIView實例從右側「滑入」。iOS - 使用CATransition在兩個UIViews之間進行適當的動畫處理

具體而言,當新的UIView從右側滑入時,舊的UIView開始滑出視圖向左滑動,直到它完全脫離視圖。換句話說,我想要在動畫期間看到兩個UIViews的效果,直到原始的UIView不再可見爲止。例如,您可以在iPad上看到相同類型的效果,例如,當您在主屏幕上並向左滑動時 - 從主屏幕滑出視圖到右側的另一個應用程序圖標屏幕中滑動剩下。我想達到的唯一警告就是你無法阻止中游轉型。

反正這裏是代碼,我到目前爲止 - 我覺得我很接近,但想拿到上或許完成什麼,我需要完成這裏一些幫助:

UIView *newView = [[UIView alloc] init]; 
    newView.frame = CGRectMake(0, 0, TileView.frame.size.width, TileView.frame.size.height); 
    [TileView addSubView:view]; 
    CATransition *transitionAnimation = [CATransition animation]; 
    [transitionAnimation setDuration:1]; 
    [transitionAnimation setType:kCATransitionPush]; 
    [transitionAnimation setSubtype:kCATransitionFromRight]; 
    [transitionAnimation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; 

UIView的TileView是我的viewController子視圖。有沒有其他的設置可以做到newView,以便所有內容與屏幕放置一致?我想認爲,KCATransitionPush是我正在尋找的動畫類型,但不是100%確定。

對我在這裏失蹤的任何幫助都會有所幫助。

回答

0

嘗試設置這兩個屬性也....

transitionAnimation.fromValue=[NSValue valueWithCATransform3D:CATransform3DMakeTranslation(0.0, 0.0, 0.0)]; 
transitionAnimation.toValue=[NSValue valueWithCATransform3D:CATransform3DMakeTranslation(excursion, 0.0, 0.0)];