2013-02-17 19 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)]; 
相关问题