2011-04-30 71 views
10

我试图初始化一个CATransition实例,但xCode总是告诉我,我正在做一个使用未声明的标识符“CATransition”。你的意思是“kCATransition”吗?CATransition Undeclared?

这行很简单:

CATransition* transition = [CATransition animation]; 

我在做什么错?我在网上发现了几次这样的代码,但我无法弄清楚我在做什么不同。

编辑:好了,我已经进口石英状建议

#import <QuartzCore/QuartzCore.h> 

但现在我得到的下一行代码不同的信息:“不兼容的指针整数转换发送‘的NSString * const的’以类型的参数 'NSCellType'”

CATransition* transition = [CATransition animation]; 
[transition setType:kCATransitionPush]; 
+0

您应该接受一些问题的答案。 – 2011-04-30 10:38:37

回答

28
#import <QuartzCore/QuartzCore.h> 
+0

你可能需要做一个干净的构建来接受这个改变。直到我做了一个干净的工作,它才起作用。 – BradS 2012-05-28 20:18:10

2

你一定要#IMPORT

,这里是我的CATransition的例子:

- (IBAction)FavButtonPressed:(id)sender 
{ 

FavoritesViewController *favVC = [self.storyboard instantiateViewControllerWithIdentifier:@"FavoritesViewController"]; 

UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:favVC]; 



CATransition* transition = [CATransition animation]; 
transition.duration = 0.3; 
transition.type = kCATransitionMoveIn; 
transition.subtype = kCATransitionFromBottom; 
[self.view.window.layer addAnimation:transition forKey:kCATransition]; 
[self presentViewController:nav animated:NO completion:nil]; 


} 

这是什么一样:FavoritesViewController(确保:当我按下喜欢按钮

  1. 实例我想过渡到控制器发生 过渡故事板上定义的名称)
    1. 分配并初始化导航,以便导航可以包含在转换中
    2. 开始动画,确定类型:https://developer.apple.com/library/mac/documentation/graphicsimaging/reference/CATransition_class/Introduction/Introduction.html
    3. 子类型:你希望它从下往上,从上到下,从左到右...... 6.我想呈现导航,我想说动画:NO意思是我不希望它使用默认行为