0

我需要从同一个视图控制器的 3 个视图切换。我正确地达到了它,但我总是得到一个淡入淡出的过渡。我不明白究竟是如何工作的。哪个参数定义了转换的类型?setType 或层 forKey:? 我都试过了,但我总是得到同样的效果!谢谢

CATransition *trans =[CATransition animation];
            trans.delegate = self;
            [trans setDuration:2];
            [trans setType:kCATransitionFromTop];
            [trans setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];

        CALayer *layer = self.view.layer;

        [layer addAnimation:trans forKey:kCATransitionMoveIn];

        [self.view addSubview:vistaSocial];
4

1 回答 1

2

要在多个视图之间转换,您可以简单地使用 UIView 的 +transitionFromView:toView:duration:options:completion: 方法。这些选项允许您指定您想要的过渡类型。

例如:

[UIView transitionFromView:view1 toView:view2 duration:0.35 options:UIViewAnimationOptionTransitionFlipFromRight completion:nil];

http://developer.apple.com/library/ios/#documentation/uikit/reference/uiview_class/uiview/uiview.html

于 2012-05-18T16:11:20.483 回答