У меня проблема, очень похожая на эту:
CATransaction Не анимация
Я просто пытаюсь анимировать слой вида с помощью CATransaction. Моя проблема в том, что преобразование применяется к представлению сразу.
Я попытался выполнить анимацию, используя executeSelector: withObject: afterDelay: без успеха.
Вот мой код:
- (void)viewDidLoad {
[super viewDidLoad];
view = [[[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)] autorelease];
view.backgroundColor = [UIColor blackColor];
[self.view addSubview:view];
[self performSelector:@selector(animateView) withObject:nil afterDelay:0.1];
}
-(void) animateView {
[CATransaction begin];
[CATransaction setValue:[NSNumber numberWithFloat:3.0f] forKey:kCATransactionAnimationDuration];
CALayer *layer = view.layer;
layer.position = CGPointMake(20,
300);
CATransform3D transform = CATransform3DMakeScale(2.0f, 2.0f, 1.0f);
transform = CATransform3DRotate(transform, acos(-1.0f)*1.5f, 1.5f, 1.5f, 1.5f);
layer.transform = transform;
[CATransaction commit];
}
Кто-нибудь знает, что идет не так?
Спасибо, Винсент.