Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 使用CATTransition';三点二十分?_Iphone_Objective C_Three20_Catransition_Ttnavigator - Fatal编程技术网

Iphone 使用CATTransition';三点二十分?

Iphone 使用CATTransition';三点二十分?,iphone,objective-c,three20,catransition,ttnavigator,Iphone,Objective C,Three20,Catransition,Ttnavigator,我希望在TTNavigator中实现CATTransitions,我知道该方法 openURL可以进行UIViewAnimationTransition,但这只会让我 翻转和卷曲动画,但使用CATTransition我可以访问 到另8个,其中KCATRANSIONFROM RIGHT,KCATRANSIONFROM LEFT, 我就是这样的人 特别是之后 对于UINavigationController,将使用类似于这段代码的内容 让我对动画进行更多控制: CATransition *t

我希望在TTNavigator中实现CATTransitions,我知道该方法 openURL可以进行UIViewAnimationTransition,但这只会让我 翻转和卷曲动画,但使用CATTransition我可以访问 到另8个,其中KCATRANSIONFROM RIGHT,KCATRANSIONFROM LEFT, 我就是这样的人 特别是之后

对于UINavigationController,将使用类似于这段代码的内容 让我对动画进行更多控制:

    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获得自己的自定义动画?或者如果
我的代码有问题吗

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

    // 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];

希望这对以后的其他人有帮助

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

- (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时使用动画转换