首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Three20中使用CATransition?

在Three20中使用CATransition?
EN

Stack Overflow用户
提问于 2010-08-23 16:45:17
回答 2查看 1.3K关注 0票数 3

我希望在TTNavigator中实现CATransitions,我知道openURL方法可以接受UIViewAnimationTransition,但这只给了我翻转和卷曲动画,但使用CATransition我可以访问另外8个,其中kCATransitionFromRight,kCATransitionFromLeft,kCATransitionFromTop,kCATransitionFromBottom是我特别想要的。

使用UINavigationController可以使用类似下面这段代码来让我更好地控制动画:

代码语言:javascript
复制
    CATransition *transition = [CATransition animation];
    transition.duration = 0.5f;
    transition.timingFunction = [CAMediaTimingFunction
    functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
    transition.type = kCATransitionPush;
    [self.navigationController.view.layer addAnimation:transition
    forKey:nil];

但是,此代码不适用于TTNavigator。有人知道如何让我自己的自定义动画与TTNavigator一起工作吗?或者如果我在代码中做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-23 16:56:12

事实证明,我回答了自己的问题,但我没有使用最后一行代码在navigationController上设置动画,而是尝试将过渡设置为URLAction。一旦我把这一行放回并注释掉URLAction转换代码,它似乎就可以工作了!

代码语言:javascript
复制
    // create the URLAction
TTURLAction* urlAction;
urlAction = [TTURLAction actionWithURLPath:@"tt://Images"]; 
[urlAction applyAnimated:YES];

    // create the CATransition and set it to the navigation controller
CATransition *transition = [CATransition animation];
transition.duration = 0.5f;
transition.timingFunction = [CAMediaTimingFunction
functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionPush;
[self.navigationController.view.layer addAnimation:transition
forKey:nil]; 

    // tell the navigator to run the action
[[TTNavigator navigator] openURLAction:urlAction];

希望这对将来的其他人有所帮助!

票数 6
EN

Stack Overflow用户

发布于 2011-02-04 01:45:30

您可以使用TTLauncherView在TTNavigator上轻松添加翻转或任何其他类型的动画,如下所示:

代码语言:javascript
复制
- (void)launcherView:(TTLauncherView*)launcher didSelectItem:(TTLauncherItem*)item {
    TTURLAction* action = [TTURLAction actionWithURLPath:item.URL];
    [action setAnimated:YES];
    [action setTransition:UIViewAnimationTransitionFlipFromLeft];
    [[TTNavigator navigator] openURLAction:action];
}

这使得TTNavigator在显示新的URL时使用动画过渡。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3545943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档