【发布时间】:2012-01-10 21:45:23
【问题描述】:
我在弄乱 Core Animation 试图让它工作,我很确定我做的一切都是正确的,但是当我尝试运行我的程序时,Xcode 向我抛出了这些奇怪的错误:
架构 i386 的未定义符号: “_OBJC_CLASS_$_CALayer”,引用自: ViewController.o 中的 objc-class-ref “_OBJC_CLASS_$_CABasicAnimation”,引用自: ViewController.o 中的 objc-class-ref ld:未找到体系结构 i386 的符号 collect2: ld 返回 1 个退出状态
我不知道这意味着什么。我将 QuartzCore 框架导入到相应的视图控制器中,这是我用于动画的代码:
UIImage *image01 = [UIImage imageNamed:@"image.png"];
imageView = [[UIImageView alloc] initWithImage:image01];
imageView.frame = CGRectMake(455, 150, 150, 150);
CALayer *imageLayer = [CALayer layer];
imageLayer.bounds = imageView.frame;
imageLayer.contents = imageView;
[view.layer addSublayer:imageLayer];
CGFloat imageXAtStart = imageLayer.position.x;
imageLayer.position = CGPointMake(335, 150);
CABasicAnimation *imageAnimation = [CABasicAnimation animationWithKeyPath:@"position.x"];
imageAnimation.fromValue = [NSNumber numberWithFloat:imageXAtStart];
imageAnimation.toValue = [NSNumber numberWithFloat:335];
imageAnimation.duration = 3;
imageAnimation.beginTime = 2;
[imageLayer addAnimation:imageAnimation forKey:@"position"];
如果重要的话,动画应该只是将图像/图层从一个 x 值移动到另一个。
【问题讨论】:
标签: objective-c core-animation