我正在尝试在两个视图之间创建自定义转换。我们的想法是创造与iPad中的“视频”应用和iPhone上的Twitter相同的效果。 无论如何,我无法找到如何执行。 我试图使用[UIView transitionWithView:...]将nil传递给选项并尝试在动画块中创建图层,但它根本不起作用。 我在WWDC 2010和2011上看过Apple的所有视频都在处理这个主题,但他们从未解释过如何做到这一点! 我也试着在这里找到答案,但没有真正的解释。
感谢您的帮助。
编辑:我想要达到的效果是你可以在这里看到的效果http://www.youtube.com/watch?v=SGzL658OAx4(0:44)
答案 0 :(得分:2)
我不知道你在谈论哪种效果,但是这里有一些代码可以在scrollView中进行Push转换(你也可以使用该代码进行curl页面转换)。
-(void)performFadeTransitionTo:(GenericScreen*)newNextView
direction:(NSUInteger)direction {
CATransition *transition = [CATransition animation];
transition.duration = 0.75;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionFade;
transition.subtype = kCATransitionFromRight;
transition.delegate = self;
[innerScroll setContentSize:newNextView.frame.size];
[innerScroll scrollRectToVisible:CGRectMake(0, 0, screenWidth, 10)
animated:NO];
[innerScroll.layer addAnimation:transition
forKey:nil];
currentView.hidden = YES;
newNextView.hidden = NO;
currentView = newNextView;
}
答案 1 :(得分:0)
如果您想要自定义转换,请创建自己的UIStoryboardSegue子类并覆盖-perform
方法。请参阅UIStoryboardSegue reference page,特别是Subclassing Notes。