Я возился с Core Animation, пытаясь заставить его работать, и я вполне уверен, что все сделал правильно, но когда я попытался запустить свою программу, Xcode вывел на меня эти странные ошибки:
Неопределенные символы для архитектуры i386:
"_OBJC_CLASS _ $ _ CALayer", на который ссылаются:
objc-class-ref во ViewController.o
"_OBJC_CLASS _ $ _ CABasicAnimation", на которую ссылаются:
objc-class-ref во ViewController.o
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 к другому.